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')