Игра «Камень, ножницы, бумага» на Python

Статьи

Введение

В данной статье мы напишем код консольной версии игры «Камень, ножницы, бумага» на языке программирования Python.

Правила игры

Правила игры:

  • Камень побеждает ножницы.
  • Ножницы побеждают бумагу.
  • Бумага побеждает камень.

Игроки выбирают один из трех вариантов, и результат определяется по приведенным выше правилам.

Написание кода игры «Камень, ножницы, бумага» на Python

Перед написанием кода импортируем функцию choice() из модуля random:

from random import choice

Теперь создадим список с вариантами выбора (камень, ножницы или бумага):

from random import choice

choices = ["Камень", "Ножницы", "Бумага"]

Далее будет идти бесконечный цикл, внутри которого сначала пользователю будет предложено выбрать камень, ножницы или бумагу. Также применим к введённой пользователем строке метод lower(), чтобы все символы в строке были приведены к нижнему регистру. Это необходимо для более корректного сравнения введённого пользователем варианта с данными из нашего списка choices.

from random import choice

choices = ["камень", "ножницы", "бумага"]

while True:
    user_choice = input("Введите Ваш выбор (камень, ножницы, бумага): ").lower()

После того, как пользователь введёт свой вариант — будет идти условие, что если введённый пользователем вариант не содержится в списке choices, то будет выведена строка «Некорректный выбор, попробуйте ещё раз.» и сработает ключевое слово continue, означающее пропуск итерации цикла и переход в самое начало, т.е. переход к вводу пользователем камня, ножниц или бумаги.

from random import choice

choices = ["камень", "ножницы", "бумага"]

while True:
    user_choice = input("Введите Ваш выбор (камень, ножницы, бумага): ").lower()

    if user_choice not in choices:
        print("Некорректный выбор, попробуйте ещё раз.")
        continue

Далее выберем случайный вариант из списка. Это будет выбор компьютера.

from random import choice

choices = ["камень", "ножницы", "бумага"]

while True:
    user_choice = input("Введите Ваш выбор (камень, ножницы, бумага): ").lower()

    if user_choice not in choices:
        print("Некорректный выбор, попробуйте ещё раз.")
        continue

    computer_choice = choice(choices)
    print(f"Компьютер выбрал: {computer_choice}")

Добавим условие, что если выбор компьютера точно такой же, что и у компьютера, то будет выведено «Ничья!». Если же выбор пользователя побеждает выбор компьютера, то будет выведено «Вы победили!». Ну а в остальных случаях будет выведен текст «Вы проиграли».

from random import choice

choices = ["камень", "ножницы", "бумага"]

while True:
    user_choice = input("Введите Ваш выбор (камень, ножницы, бумага): ").lower()

    if user_choice not in choices:
        print("Некорректный выбор, попробуйте ещё раз.")
        continue

    computer_choice = choice(choices)
    print(f"Компьютер выбрал: {computer_choice}")

    if user_choice == computer_choice:
        print("Ничья!")
    elif (user_choice == "Камень" and computer_choice == "Ножницы") or \
         (user_choice == "Ножницы" and computer_choice == "Бумага") or \
         (user_choice == "Бумага" and computer_choice == "Камень"):
        print("Вы победили!")
    else:
        print("Вы проиграли!")

После определения победителя предложим пользователю сыграть ещё раз. Если он согласится, то соответственно будет произведён переход к следующей итерации цикла, а если откажется — цикл завершится.

from random import choice

choices = ["камень", "ножницы", "бумага"]

while True:
    user_choice = input("Введите Ваш выбор (камень, ножницы, бумага): ").lower()

    if user_choice not in choices:
        print("Некорректный выбор, попробуйте ещё раз.")
        continue

    computer_choice = choice(choices)
    print(f"Компьютер выбрал: {computer_choice}")

    if user_choice == computer_choice:
        print("Ничья!")
    elif (user_choice == "Камень" and computer_choice == "Ножницы") or \
         (user_choice == "Ножницы" and computer_choice == "Бумага") or \
         (user_choice == "Бумага" and computer_choice == "Камень"):
        print("Вы победили!")
    else:
        print("Вы проиграли!")

    play_again = input("Хотите сыграть еще раз? (да/нет): ")
    if play_again.lower() != "да":
        break

Заключение

В ходе статьи мы с Вами написали код игры «Камень, ножницы, бумага» на Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin
Admin
IT Start