虽然循环 - 不等于 - Python,没有正确评估?

时间:2018-03-13 19:24:02

标签: python python-3.x

创建一个小程序,生成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!')

3 个答案:

答案 0 :(得分:3)

answerstr,而numb1numb2int

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