我做错了什么?我的代码告诉我猜测是错误的,当它是正确的

  • 本文关键字:错误 错了 代码 python python-3.x
  • 更新时间 :
  • 英文 :


我正在尝试制作一个小程序,让别人猜测正在选择的数字。当正确猜出数字后,程序应该结束。当数字被猜错时,它应该反复要求用户再试一次,直到猜到正确的答案。我故意将随机值设置为始终为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之间的随机数,这不是很好完全是随机的。它应该在两个不同的数字之间
  2. 您的循环条件不正确。您应该将随机生成的数字与猜测的数字进行比较
  3. 您没有将第二个输入设置为等于任何值

这是一个生成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:

相关内容

最新更新