Программа, которая продолжает работать, пока пользователь не наберет слово - PullRequest
0 голосов
/ 13 мая 2019

Генерация случайного числа от 1 до 9 (включая 1 и 9).Попросите пользователя угадать число, а затем скажите ему, угадали ли они слишком низко, слишком высоко или совершенно верно.(_Совет: не забывайте использовать уроки пользовательского ввода из самого первого упражнения

Дополнительно:

Продолжайте игру до тех пор, пока пользователь не введет «выход».и когда игра закончится, распечатайте это.

Я разделил свою программу на три функции

import random

# function to generate random number between 1 and 9
def generate():
    cpu_number=random.randint(1,9)
    print(cpu_number)

# function to input player guess
def player_guess():
    player_number=input('Digit a number between 1 and 9\n')

#function to keep asking the player the value unless he writes exit. Also return wrong and right guesses
def game():
    right_guesses=0
    wrong_guesses=0
    while player_guess()!= 'exit':
        if player_guess() > generate():
            print('Higher value than the value generated!')
            wrong_guesses += 1
        elif player_guess() < generate():
            print('Lower value than the value generated!')
            wrong_guesses += 1
        else:
            print('You have guessed the correct value!!!!')
            right_guesses += 1
    print('You have entered',right_guesses,'guesses and',wrong_guesses,'guesses')
    return right_guesses,wrong_guesses

print(generate())
print(player_guess())
print(game())

Моя программа не выполняет предложения if. Также она не останавливается, если ятип выхода

Ответы [ 2 ]

1 голос
/ 13 мая 2019
import random

# function to generate random number between 1 and 9
def generate():
    return random.randint(1,9)

# function to input player guess
def player_guess():
    return input('Digit a number between 1 and 9\n')


#function to keep asking the player the value unless he writes exit. Also return wrong and right guesses
def game():
    right_guesses=0
    wrong_guesses=0
    while True:
        guess = player_guess()
        if guess == 'exit':
            break

        if int(guess) > generate():
           print('Higher value than the value generated!')
           wrong_guesses += 1
        elif int(guess) < generate():
            print('Lower value than the value generated!')
            wrong_guesses += 1
        else:
            print('You have guessed the correct value!!!!')
            right_guesses += 1

    print('You have entered', right_guesses,'correct guesses and', wrong_guesses,'wrong guesses')
    return right_guesses, wrong_guesses

game()
0 голосов
/ 13 мая 2019

player_guess ничего не возвращает, чтобы цикл в game реагировал.Кроме того, кажется, что он вызывается чаще, чем один раз для желаемого ввода.

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