我简单的加法代码无法正常工作,我也不知道为什么

时间:2020-11-05 17:37:17

标签: python math

我是新手,我正在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

2 个答案:

答案 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'

因此,ab是字符串,而+是字符串。让我们做一些整数。

>>> aa = int(a)
>>> bb = int(b)
>>> type(aa)
<class 'int'>
>>> type(bb)
<class 'int'>
>>> aa+bb
30

更像是。整数会像您认为的那样添加。

不需要BTW c = 0。无论如何,它只是在稍后重新分配。