[英]Python: Number Guessing Game
您的程序通过随机选择一个介于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()
采取这一行:
randomNumber = random.randrange(1, 1000)
并将其放在guess
:
import random
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):
#########################################
randomNumber = random.randrange(1, 1000)
#########################################
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()
现在,每次调用函数都会创建一个新的随机整数。
在main()
放入一个循环,并在循环开始时初始化randomNumber
。
请尝试从随机到while循环的开头删除四个空格
import random
print " welcome to game of guessing "
print "you have 6 attempts"
num1 = random.randint(1,100)
print num1 # this is your computer generated number ( skip while running :only for test purpose)
num2 = num1+random.randint(1,15)
print " hint: number is close to " + str(num2)
count=1
而count <= 6:打印“输入您认为的数字” inputnum = raw_input()如果inputnum == str(num1):打印“恭喜您猜到正确的数字”
elif inputnum<str(num1):
print " number is lower than correct one "
count=count+1
elif inputnum>str(num1):
print "number is greater than correct one"
count=count+1
else:
break
您只需要像这样定义main()函数。
def main():
global randomNumber
print ""
randomNumber = random.randrange(1, 1000)
number = input("I have a number between 1 and 1000. Can you guess my number? Please type your first guess: ")
guess(number)
一切都会完美。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.