@Dzharves
Изучаю основы программирования на Python

Как в функцию добавить переменную, которая в зависимости от итога меняется?

Нужно сделать функцию, которая сравнивает вводимое значение (1 или 2) с рандомным числом (1 или 2) и в зависимости от итога на экран выводит счет которое показывает кто выиграл.
Например:
я ввел (2) и не совпало с рандомным числом - счет 0 1
функция повторилась и уже (2) совпало с рандомным числом - счет 1 1 и т.д до тех пор пока счет одной из сторон не станет равно 5.
я написал это:
from random import randint
def game(i):
    comp = randint(1, 2)
    i_coin = 0
    comp_coin = 0
    while i_coin < 5 and comp_coin < 5:
        if i == comp:
            i_coin = i_coin + 1
            print(i_coin, comp_coin)
        else:
            comp_coin = comp_coin + 1
            print(i_coin, comp_coin)
print(game(1))

Но на экран выходит либо 0 1, 0 2, 0 3, 0 4, 0 5 или 1 0, 2 0, 3 0, 4 0, 5 0.
То есть у меня после одного сравнения счет просто увеличивается до 5 но при этом новое повторение не инициируется. Либо я еще не научился это делать, либо я что то не правильно понял про циклы. В общем подскажите пожалуйста доступным для новичка языком, в чем моя ошибка. Спасибо большое.
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
@dadasay
def game(i):
    i_coin = 0
    comp_coin = 0
    while True:
        if not (i_coin < 5 and comp_coin < 5):
            break
        new_random_value = randint(1, 2)
        if i == new_random_value:
            i_coin = i_coin + 1
            print(i_coin, comp_coin)
        else:
            comp_coin = comp_coin + 1
            print(i_coin, comp_coin)

print(game(1))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы