我写了一个程序,你猜测一个随机生成的1到100之间的数字:
from random import randint
play='y'
print 'Guess a number between 1 and 100'
while play=='y':
x = randint(1,100)
guess=1000
while guess != x:
guess=input('Guess: ')
if guess < x:
print 'Higher'
if guess > x:
print 'Lower'
print 'You got it! Good Job! The number was ' + str(x)
play=raw_input('Would you like to play again(y/n)?: ')
raw_input("Press <enter> to exit")
当用户输入不是整数的猜测时如何打印那不是数字,那么让他们继续猜测?
答案 0 :(得分:0)
使用while True
循环重复问题,直至breaks
。如果try
没有引发ValueError
,那么打破循环的唯一方法就是。当int()
或'hello'
之类的内容时,'1.2'
会引发错误。
另外,使用raw_input
代替input
(注意:raw_input将字符串分配给guess
)。
while True:
guess=raw_input('Guess: ')
try:
int(guess)
break
except ValueError:
print '\nNot an int, try again.'
更具体地说,请在while guess != x:
之后和if guess < x
之前插入。