Ваша программа выбирает число, которое нужно угадать, выбрав целое число случайным образом в диапазоне от 1 до 1000 (включительно). Если догадка игрока неверна, ваша программа должна зацикливаться до тех пор, пока игрок, наконец, не получит номер справа. Ваша программа должна сообщать игроку слишком высокую или слишком низкую, чтобы помочь игроку «нуль» в правильном ответе. После окончания игры программа должна попросить пользователя ввести «y» для повторного воспроизведения или «n», чтобы выйти из игры.Python: Number Guessing Game
Моя проблема заключается в том, как вы генерируете новое случайное целое число каждый раз, когда они хотят снова играть?
Вот мой код.
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()
Возможно, вы захотите не называть функцию 'main' внутри функции' guess'. Это называется рекурсией (поскольку это функция 'main', называемая функцией' guess') и может привести к сбою вашей программы. Выясните, как заменить его на цикл. –