首页 > 解决方案 > 如何让我的 while 循环在 Python 中工作?

问题描述

这是我的代码:

import random
Random = random.randint(1, 10)
print("Number:" + str(Random))
Number = int(input("Guess the number I am thinking of from 1-10"))
while int(Random) != Number:
  if(Random > Number):
    Number = input("Too low. Guess again!")
  elif(Number > Random):
    Number = input("Too high. Guess again!")
print("You guessed it!")

当猜到正确的数字时,就会发生这种情况,这就是应该发生的事情。

Number:8
Guess the number I am thinking of from 1-10 8
You guessed it!

但是,当数字没有被正确猜到时,它只会循环通过 elif 语句。

Number:10
Guess the number I am thinking of from 1-10 6
Too low. Guess again! 7
Too high. Guess again! 6
Too high. Guess again! 5
Too high. Guess again! 4
Too high. Guess again! 3
Too high. Guess again! 2
Too high. Guess again! 1
Too high. Guess again! 10
Too high. Guess again! 9
Too high. Guess again! 8

标签: pythonloopswhile-loop

解决方案


您是否尝试过在 while 循环的两个输入行中将 int 强制转换为输入?当它像这样时,它似乎对我有用:

if(Random > Number):
    Number = int(input("Too low. Guess again!"))
elif(Number > Random):
    Number = int(input("Too high. Guess again!"))

推荐阅读