【发布时间】:2014-01-28 21:26:33
【问题描述】:
您的程序通过在 1 到 1000(含)范围内随机选择一个整数来选择要猜测的数字。如果玩家的猜测不正确,你的程序应该循环直到玩家最终猜对了数字。你的程序应该不断告诉玩家太高或太低,以帮助玩家“归零”正确答案。游戏结束后,程序应提示用户输入“y”重新玩游戏或“n”退出游戏。
我的问题是每次他们想再次播放时如何生成一个新的随机整数?
这是我的代码。
import random
randomNumber = random.randrange(1, 1000)
def main():
print ""
number = input("I have a number between 1 and 1000. Can you guess my number? Please type your first guess: ")
guess(number)
def guess(number1):
correct = False
while not correct:
if number1 > randomNumber:
print "Too high. Try again."
print ""
elif number1 < randomNumber:
print "Too low. Try again."
print ""
elif number1 == randomNumber:
break
number1 = input ("What number do you guess? ")
if number1 == randomNumber:
playAagain = raw_input ("Excellent! You guessed the number! Would you like to play again (y or n)? ")
if playAagain == "y":
main()
main()
【问题讨论】:
-
您可能需要考虑不在
guess函数内调用main函数。这称为递归(因为调用guess函数的是main函数)并且可能导致您的程序崩溃。弄清楚如何用循环替换它。