这个程序一次又一次地给出答案,我找不到阻止它的方法


import random
n = int (input('guess the number'))
randomnumber = random.randint(1,100)
while True:
if n == randomnumber:
print ('you have won')
break   
elif randomnumber > n :
print('you guessed too high')

else :
print ('you guessed too low')


print ('thank you for playing')

循环永远不会结束,因为n和randomnumber都不会在循环中更新。尝试在循环中插入n = int (input('guess the number'))

如果按Control+C,任何Python程序都可能被破坏。此外,我认为你想要的是,程序应该在用户每次出错时询问他们。因此,在while循环结束时,重复向用户询问n值的代码行。

正如Jonathan所说,最好将input语句移到循环的顶部,并删除程序顶部的第一个input语句。

import random
randomnumber = random.randint(1,100)
while True:
n = int (input('guess the number'))
if n == randomnumber:
print ('you have won')
break   
elif randomnumber > n :
print('you guessed too high')

else :
print ('you guessed too low')


print ('thank you for playing')

它重复自己,因为它处于"while true"中。这是一个循环,它将永远重复自己来解决它,删除while true和break语句,希望这有所帮助!


import random
n = int (input('guess the number'))
randomnumber = random.randint(1,100)
if n == randomnumber:
print ('you have won')
elif randomnumber > n :
print('you guessed too high')

else:
print ('you guessed too low')

print ('thank you for playing')

最新更新