Введение
В данной статье мы напишем код консольной версии игры «Камень, ножницы, бумага» на языке программирования 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. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂
Мой Telegram канал
Мой YouTube канал
Курс по созданию телеграм-ботов на Python с фреймворком Aiogram