Переписать на основе инструкций - PullRequest
0 голосов
/ 09 октября 2018

Эта программа работает, но она не соответствует заданному макету.Иногда мне трудно понять инструкции, поэтому я обычно иду своим путем.Могу ли я получить некоторую помощь в преобразовании того, что у меня есть, в эти инструкции?Может помочь мне понять, что спросили.Заранее спасибо!

1) Напишите функцию, в которой пользователь вводит предположение в диапазоне от 1 до 100. Метод должен использовать цикл для проверки ввода пользователя и должен возвращать введенное значение.СОВЕТ: Вы уже написали это как одно из обязательных общедоступных упражнений.

2) Напишите аналогичный метод, при котором пользователь введет "y" или "n".Метод должен возвращать введенное значение, но должен использовать цикл, требующий повторного ввода, пока не будет указано одно из этих двух значений.

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

Основная часть кодированной программы должна быть похожа на:

again = 'y'
while again == 'y':
    call function to play the game once
    again = call function to get "y" or "n" from user

-

import random



def gen_number():

    """
    Generates a random number and returns it.

    :return: Number generated by the computer
    """

    random_number = random.randint(1, 2)
    return random_number


def play_game(question, random_number):

    """
    Accepts user input and checks to see if if input is within the accepted boundaries.
    Calls function replay_game.

    :param question: stores  "Guess a number" in variable question
    :param random_number: Stores the random number generated from gen_random function
    :return: n/a
    """

    correct = None

    while correct != random_number:

        try:
            correct = int(input(question))

        except ValueError:
            print("Please only use integers")
            continue

        if not 1 <= correct <= 100:
            print("Please only enter numbers between 1 and 100!")

        elif correct > random_number:
            print("Too high, try again. ")

        elif correct < random_number:
            print("Too low, try again! ")

        elif correct == random_number:
            print("Yahoo!  You guessed the correct number!")
            replay_game()


def user_input():

    """
    Starts the game by calling function play_game.  Passes arguments "Guess a number & random_number".
    :return: n/a
    """

    print("Welcome to the guessing game!")

    random_number = gen_number()
    play_game("Guess a number: ", random_number)


def replay_game():

    """
    Generates loop to replay game if y or n is entered.  Gives error message if conditions are not met.
    :return:n/a
    """

    replay_yn = ""

    while replay_yn != 'y' or replay_yn != 'n':

        replay_yn = input("Would you like to play again (y/n)? ").lower()

        if replay_yn == "y":
            main()

        elif replay_yn == "n":
            print("See ya later!")
            exit()

        else:
            print("Oops, try again")
            replay_yn = input("y or n")


def main():

    """
    Calls functions user_inout to start the game and replay_game to give options to end or replay.

    :return: n/a
    """

    user_input()
    replay_game()


main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...