[英]Python Numbers Guessing Game
我是学习Python(使用2.7.4版)的初学者,并且已经制作了这个猜数字游戏。 到目前为止,这是我的代码:
import random
name = raw_input("Hi there! What\'s your name?\n")
print "Well, " + name + ", I am thinking of a number between 1 and 100"
number = random.randint(1,100)
guess = int(raw_input("Take a guess:\n"))
count = 1
while guess != number:
if guess < number:
print "Sorry, your guess is too low."
if guess > number:
print "Sorry, your guess is too high."
count += 1
guess = int(raw_input("Take another guess\n"))
print "Good job, %s! You guessed my number in %d guesses!" % (name ,count)
对于第一个问题,请使用一个集合来跟踪先前的输入值:
seen = set()
while guess != number:
if guess < number:
print "Sorry, your guess is too low."
if guess > number:
print "Sorry, your guess is too high."
count += 1
while True:
guess = int(raw_input("Take another guess\n"))
if guess in seen:
print "Oops, you have guess than one before"
continue
else:
seen.add(guess)
break
对于第二个问题,您可以使用isinstance()函数,但没有太多需要。 int()函数将为您检查输入,如果未获得整数输入,则会引发异常。 如果您愿意,可以捕获该异常并添加一个不错的错误消息:
try:
guess = int(raw_input("Take another guess\n"))
except ValueError:
print "Sorry, I expected an integer"
问题一的答案列出清单:
while run:
geusslist = []
number = raw_input("Make A Geuss")
geusslist.extend((number))
if print_nums:
print "You Have Guessed:"
print geusslist
如果运行了此代码,并且玩家猜到了10、20、30、40、50,则应该返回
>>> You Have Geussed:
>>> [10, 20, 30, 40, 50]
关于第二个问题,我认为“ Raymond Hettinger”在^上的回答很好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.