2017-06-21 72 views
0

当我运行这个程序为什么随机整数的上限不是20? (Python 3中)

print('Welcome to the algebra machine!') 
from random import * 
a=randint(1,20) 
b=(input('Choose a number:')) 
c=a*b 
print('You got a total of',c) 
d=(input('What was the original number?')) 
if d==a: 
    print('Correct!') 
else: 
    print('Wrong!') 

我会得到的最终答案,例如,如果22222222我进入2。 为什么不randint上限为20

+2

要添加到答案:你可以使用到Python 2.x的,其中'输入()'函数的输入转换为它的默认类型。然而,在Python 3.x中,输入仍然是一个字符串。如果你想要另一种类型,程序需要明确地进行转换。 –

回答

2

上限为20.问题是您将输入号码保留为字符串。您发布的输出22222222是8 *'2'。如果你想看到16的输出,尽量

b = int(input('Choose a number:')) 
0

b是一个字符串,并且任何时候你通过一个字符串乘以一个数字,它重复字符串n倍。

"2" * 5回报"22222"

转换b了一些尝试做就可以了数学之前。