为什么随机整数的上限不是20(Python3)

2024-04-29 03:19:01 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行这个程序的时候

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!')

例如,如果输入2,我会得到22222222的最终答案。 为什么randint没有被限制在20


Tags: thetofromimport程序younumberinput
2条回答

b是一个字符串,当您将一个数字乘以一个字符串时,它会将该字符串重复n

"2" * 5返回"22222"

先把b转换成一个数字,然后再对它进行数学运算

它的上限是20。问题是你把输入的数字留作一个字符串。您发布的输出2222是8*'2'。如果希望将16作为输出,请尝试

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

相关问题 更多 >