Игра в угадывание чисел python (заставить игру каждый раз просить сыграть) - PullRequest
0 голосов
/ 14 июля 2020
import random

def game():
    number = random.randint(0, 10)
    guess = 0
    print("Guess a number from 0-10:")
    while number != guess:
        try:
            guess = int(input(""))
            if number != guess:
                print("you haven't guessed the number, keep trying")
            else:
                print("You guessed it!")
                break
        except ValueError:
            print("Please enter an integer")

game()

choose = input("Would you like to play again?\n")
while choose == "yes":
    game()
    if choose == "no":
        break

Я пытаюсь добавить функцию, при которой каждый раз, когда игра выиграна, у пользователя есть возможность играть снова, прямо сейчас игра запускается, затем вы выигрываете, он спрашивает, хотите ли вы сыграть снова, вы говорите «да», он запускается снова, затем вы выигрываете, и он запускается снова, не спрашивая.

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Choose устанавливается только один раз, поэтому while-l oop никогда не ломается. Вы можете просто добавить:


choose = input("Would you like to play again?\n")

while choose == "yes":
    game()
    choose = input("Would you like to play again?\n")
    if choose == "no":
        break

Или более элегантно:


choose = input("Would you like to play again?\n")

while choose != "no":
    game()
    choose = input("Would you like to play again?\n")
0 голосов
/ 14 июля 2020

В настоящее время вы только спрашиваете пользователя, хочет ли он снова сыграть один раз , и продолжайте играть с помощью while l oop. Вы должны спрашивать пользователя снова после каждого запуска игры, например:

choose = input("Would you like to play again?\n")
while choose == "yes":        
    game()
    choose = input("Would you like to play again?\n") #add this line
    if choose == "no":
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...