打印一个数字的两倍

时间:2015-04-28 07:41:51

标签: python python-3.x

我想打印一个数字的两倍。

如果我输入5,为什么会打印55

number = input("Input number \n")

double = number * 2

print(double)

为什么按预期打印10

number = int(input("Input number \n"))

double = number * 2

print(double)

2 个答案:

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