需要有关基本Python算术运算的信息

时间:2019-01-04 08:28:38

标签: python-3.x

我正在使用Python版本3.6.4

我试图在Jupyter Notebook中编写一个基本的python代码,在那里我发现自己的代码很有趣。

下面给出的代码可以按预期工作但是,当我在代码viewer.impl的第4行中将操作更改为(+)时,它就是Error的结果。

问题是为什么在更改乘法正常且加法结果有错误的运算符发生更改时,为什么会发生这种意外行为?

print( x, '+', y, '=', x+y)

2 个答案:

答案 0 :(得分:2)

用户输入(即x)是字符串。 y是整数。字符串和整数之间的乘法是有效的python操作。整数和字符串之间不能加法。请注意,我怀疑您的乘法运算代码是否按预期运行,即它不会将数字相乘,而是重复字符串,例如

>>> '3' * 4
'3333'

要解决该问题,您需要将用户输入转换为int:

x = int(input('Enter the number:'))

请注意,这不会处理任何无效的输入,例如不是数字输入,将引发异常。

编辑:包括示例代码段:

def fuc(x):
    x = int(input('Enter the number:'))
    for y in range(1,11):
        print(x, '+', y, '=', x+y)
        # print(f'{x} + {y} = {x+y}') # in 3.6+ you better use this

fuc(2)

python3中的输出

Enter the number:3
3 + 1 = 4
3 + 2 = 5
3 + 3 = 6
3 + 4 = 7
3 + 5 = 8
3 + 6 = 9
3 + 7 = 10
3 + 8 = 11
3 + 9 = 12
3 + 10 = 13
>>>

通常我会在打印时使用字符串格式,但是在这种情况下,我会保持原始代码不变

答案 1 :(得分:0)

您可以尝试这段代码:

itemset