我正在尝试制作一个小程序,让别人猜测正在选择的数字。当正确猜出数字后,程序应该结束。当数字被猜错时,它应该反复要求用户再试一次,直到猜到正确的答案。我故意将随机值设置为始终为1,只是为了进行测试。
import random
random_number = random.randint(1, 1)
guess_number = int(input('I have picked a random number. Can you guess what it is? '))
while guess_number != True:
int(input('I am sorry. That is not correct. Please try again. '))
else:
print('That is correct!')
我知道无论我做错了什么都非常简单,当我找到答案时,我可能会踢自己,但就我的一生而言,我现在还无法弄清楚。
您有random_number
,但在任何地方都无法将其与guess_number
进行比较。
您只比较guess_number
(一个整数(和True
(一个布尔值(,这显然是错误的。
请将您的代码与以下代码进行比较,并询问是否有不清楚的地方:
import random
random_number = random.randint(1, 1)
guess_number = int(input('I have picked a random number. Can you guess what it is? '))
while guess_number != random_number:
guess_number = int(input('I am sorry. That is not correct. Please try again. '))
print('That is correct!')
此外,random.randint(1, 1)
总是返回1
。你可能想要使用不同的数字。
几件事:
- 您正在生成一个介于1和1之间的随机数,这不是很好完全是随机的。它应该在两个不同的数字之间
- 您的循环条件不正确。您应该将随机生成的数字与猜测的数字进行比较
- 您没有将第二个输入设置为等于任何值
这是一个生成1到10之间数字的有效解决方案:
import random
random_number = random.randint(1, 10)
guess_number = -1
while True:
guess_number = int(input('I have picked a random number. Can you guess what it is? '))
if guess_number == random_number:
print('That is correct!')
break
print('I am sorry. That is not correct. Please try again. ')
您需要将某些内容与guess_number进行比较。
while guess_number != random_number: