我是新手,我正在python中尝试数学运算,但是遇到了问题。假设a = 10和b = 20,所以a + b = 30。但是,当我运行代码时,我得到的却是1020。我有一个教程,但仍无法使用。
a = input('what is a?')
b = input('what is b?')
c = 0
c = a + b
print ('answer is', c)
我使用的是python 3.9
答案 0 :(得分:4)
STDIN的输入是字符串(str
),您需要将其转换为整数(int
)。
c = int(a) + int(b)
建议阅读:
答案 1 :(得分:0)
Python可让您进行实验。 Python是一种动态语言,对象可以以不同方式实现“ +”之类的东西。您可以使用外壳查看其工作原理。
>>> a = input('what is a?')
what is a?10
>>> b = input('what is b?')
what is b?20
>>> type(a)
<class 'str'>
>>> type(b)
<class 'str'>
>>> a + b
'1020'
因此,a
和b
是字符串,而+
是字符串。让我们做一些整数。
>>> aa = int(a)
>>> bb = int(b)
>>> type(aa)
<class 'int'>
>>> type(bb)
<class 'int'>
>>> aa+bb
30
更像是。整数会像您认为的那样添加。
不需要BTW c = 0
。无论如何,它只是在稍后重新分配。