【问题标题】:While loop guessing number game pythonwhile循环猜数字游戏python
【发布时间】:2017-10-10 02:52:48
【问题描述】:

所以我想我理解为什么代码没有运行通过 while 语句,但我不知道如何让它识别它的 guess 部分并穿过它。我已经搜索了有关循环部分的几个问题,但实际上看不到它的执行。

num_answer = int(input('What should the answer be? '))
guesses = int(input('How many guesses? '))
answer = int(input('Guess a number: '))

while answer != num_answer and guesses != guesses:
    answer = int(input('Guess a number: '))
    if answer < num_answer:
       print('The number is higher than that.')
       guesses += 1
       answer = int(input('Guess a number: '))
    elif answer > num_answer:
       print('The number is lower than that.')
       guesses += 1
       answer = int(input('Guess a number: '))
    elif answer == num_answer:
       print('You win!')
    elif guesses > guesses and answer != num_answer:
       print("You lose; the number was", num_answer, ".")

【问题讨论】:

  • guesses != guessesguesses &gt; guesses 都不会是真的。

标签: python-3.x while-loop


【解决方案1】:

您正在尝试将变量与自身进行比较。 “猜测!=猜测” 总是会返回false,所以你的“while”永远不会运行。 您可以将您的猜测变量更改为两个单独的变量。

num_answer = int(input('What should the answer be? '))
guessesMax = int(input('How many guesses? '))
answer = int(input('Guess a number: '))

while answer != num_answer and guessesMax != guessesCount:
    answer = int(input('Guess a number: '))
    if answer < num_answer:
       print('The number is higher than that.')
       guessesCount += 1
       answer = int(input('Guess a number: '))
    elif answer > num_answer:
       print('The number is lower than that.')
       guessesCount += 1
       answer = int(input('Guess a number: '))
    elif answer == num_answer:
       print('You win!')
    elif guessesCount == guessesMax and answer != num_answer:
       print("You lose; the number was", num_answer, ".")

还用“==”更改了您的最后一个 elif。但它是没用的,因为当

guessesCount == guessesMax

while 不会被执行 ;)

编辑: 你需要添加

guessesCount = 0

最重要的是它可以工作。 也在你的时候

answer = int(input('Guess a number: '))

正在执行两次,要么你把它放在你循环的开始,要么放在每个“if,elif,else”中,但现在都在;)

【讨论】:

  • 我编辑了我的代码以添加一个不同的变量来等于guessesMax,但是当guessesCount == guessesMax时我无法让while循环结束
猜你喜欢
  • 2021-04-29
  • 2014-10-30
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2015-10-22
相关资源
最近更新 更多