创建一个小程序,生成1到10(含)之间的两个值,并提示用户查找总和作为答案。
我试图在这里使用while循环。似乎代码"而(numb1 + numb2!=回答)"将始终评估为true(即使为false),因此循环永远不会退出。
想知道我可能错过了什么?非常感谢任何输入!
import random
numb1 = random.randint(1,10)
numb2 = random.randint(1,10)
print('What is: ', numb1, ' + ', numb2, '?')
answer = input('Answer: ')
while (numb1 + numb2 != answer):
print('Incorrect, try again!')
answer = input('Answer: ')
print('Correct!')
答案 0 :(得分:3)
answer
是str
,而numb1
和numb2
是int
。
>>> 1 == "1"
False
这样做:
while numb1 + numb2 != int(answer):
答案 1 :(得分:0)
因为您将int
值与str
值进行比较,不能在任何情况下均相等。
在比较之前将answer
转换为int
与
answer = int(input('Answer: '))
答案 2 :(得分:-1)
我已将下面的代码粘贴到改进之后。只需将答案变量设为整数。
import random
numb1 = random.randint(1,10)
numb2 = random.randint(1,10)
print('What is: ', numb1, ' + ', numb2, '?')
answer = int(input('Answer: '))
while numb1 + numb2 != answer:
print('Incorrect, try again!')
answer = input('Answer: ')
print('Correct!')