Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 21, 2022 12:37:25

upsetbeard
Зарегистрирован: 2022-06-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Игра Fizz-Buzz

Всем привет! Около недели изучаю python и поставил себе задачу закодить игру под названием Fizz-Buzz. Смысл игры такой:
Fizz-Buzz – это известная игра, помогающая детям освоить в игровой форме правила деления. Участники садятся в круг, чтобы игра теоретически могла продолжаться бесконечно. Первый игрок говорит «Один»
и передает ход тому, кто слева. Каждый следующий игрок должен мысленно прибавить к предыдущему числу единицу и произнести либо его,либо одно из ключевых слов: Fizz, если число без остатка делится на три,
или Buzz, если на пять. Если соблюдаются оба этих условия, он произносит Fizz-Buzz. Игрок, не сумевший сказать правильное слово, выбывает из игры. Последний оставшийся игрок признается победителем.

Я изучил на базисном уровне только if / while / for и прочее до этого момента. Задача была после блока while/for.

Хотел бы понять, можно ли на этом уровне сделать так, чтобы присваивать имя вводимого человека на каждый ход, например, тот, кто первый ввел, тот и ходит, либо как-то определять дополнительно порядок ходов с помощью random, при этом чтобы цикл понимал, что первая итерация будет исходя из набора.
Плюс если есть комментарии к самому коду, то как его улучшить, либо какие-то логические ошибки - прошу дайте обратную связь. Заранее спасибо!


  if __name__ == '__main__':
    # Task 72 Game Fizz-Buz
    num = 1
    count = -1
    partisipants = 0
    y = ""
    word = ""
    print("Игра началась")
    while partisipants != "":
        # Есть вопросы с зацикливанием инпута, не совсем очевидно для меня
        partisipants = (input('Введите имена игроков (Введите "Enter" для окончания): '))
        count += 1
    print(f"Итого количество игроков: {count}")
    while count != 1:
        while num != 100 and count != 1:
            print(f"Игрок сказал цифру {word}")
            num += 1
            if num % 3 == 0 and num % 5 >= 1:
                word = "Fizz"
            elif num % 5 == 0 and num % 3 >= 1:
                word = "Buzz"
            elif num % 5 == 0 and num % 3 == 0:
                word = "Fizz-Buzz"
            elif num % 5 >= 1 or num % 3 >= 1:
                word = str(num)
            y = str(input("Введите число или букву "))
            if word != y:
                count -= 1
                print(f"Ответ неверный \nПравильный ответ: {word} \nИгрок выбывает")
                print(f'Игроков осталось {count}')
            else:
                print("Игрок ответил правильно! ")
    else:
        print("Поздравляю, вы победитель!")

Отредактировано FishHook (Июнь 21, 2022 12:38:23)

Офлайн

#2 Июнь 21, 2022 12:38:59

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Игра Fizz-Buzz

upsetbeard
для этой задачи вам понадобится знать списки



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version