简单的Python代码,用于请求数字和打印结果

时间:2014-03-06 18:39:44

标签: python-3.x

我一直在练习基础知识现在我尝试在大学做一个练习任务,我似乎无法找到我出错的地方,任何人都可以指出我正确的方向并向我解释我做错了什么拜托,谢谢

这是个问题 编写一些请求2个数字的Python代码并打印应用运算符的结果+ - * / eg。

Please enter your first number:5
Please enter your second number:3

5 + 3 = 8
5 – 3 = 2
5 * 3 = 15
5 / 3 = 1.666666667

使用至少十个不同的值测试此代码。 (提示:您可能需要考虑如何管理类型)

这是我的编码

    A=  input ("Please enter your first number:")

    B= input ("please enter your second number:")


    A+B

    A-B

    A*B

A/B

我收到一条错误消息

Please enter your first number:5
please enter your second number:3
Traceback (most recent call last):
       File "/Users/salv/Documents/PRACTISE PYTHIN.py", line 6, in <module>
      A-B
     TypeError: unsupported operand type(s) for -: 'str' and 'str'
     >>> 

2 个答案:

答案 0 :(得分:0)

输入将返回一个字符串对象,-运算符需要两个整数。使用int()

将其转换为int

A = int(input("Please enter your first number:"))

答案 1 :(得分:0)

这是因为当python读取某些用户输入时,它会将其读取为字符串(类型为str),而不是数字(在这种情况下为int类型)。
因此,您需要做的是将您输入的数字的字符串表示形式转换为数字类型。这可以通过在字符串上调用int()来完成,如下所示:

users_input = input("Enter a number: ")
A = int(users_input)

考虑一下:

>>> A = input("Enter a number: ")
Enter a number: 5
>>> A
'5'

请注意5周围的引号。这表明它是一个字符串。您可以使用type

确认这一点
>>> type(A)
<class 'str'>
>>> B = int(A)
>>> B
5

注意:5周围没有引号。这是一种数字类型。由于它后面没有.0,因此它不是float(浮点小数类型)。相反,它是int(整数类型)。同样,这可以通过type

确认
>>> type(B)
<class 'int'>