我想打印一个数字的两倍。
如果我输入5
,为什么会打印55
:
number = input("Input number \n")
double = number * 2
print(double)
为什么按预期打印10
:
number = int(input("Input number \n"))
double = number * 2
print(double)
答案 0 :(得分:2)
在第二种情况下,您将输入转换为整数,可以将其乘以2以获得预期结果。在第一种情况下,将字符串(而不是整数)乘以2,这会导致字符串两次,因此为“55”。
答案 1 :(得分:-1)
python2' s input()
和python3' input()
函数之间存在差异。
在python2中,我们有2个函数,raw_input()
用于读取输入作为字符串,input()
用于数字输入。
在python 3中没有raw_input()
但只有一个input()
方法默认读取为字符串。
所以,如果你想输入一些数字,你必须对它进行类型转换。
num = int(input("Input number \n"))
如果您想评估数字的表达式,可以使用eval
>>> a = eval(input("Input Number: "))
2+3+4
>>> a
9
不要在生产中使用eval!