Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

Реализация игры «Камень, ножницы, бумага» на Python

Учебник Python для начинающих с использованием условных операторов и модуля random

Делиться

852083049fd7a1a03adc0ab18321d355

Введение в игру

Игра «Камень, ножницы, бумага» была интересной и мобильной игрой с самого детства, в которую мы могли играть где угодно, когда было скучно. Игра проста. В ней участвуют два игрока, и каждый должен выбрать один из трёх вариантов: «Камень», «Ножницы, бумага» или «Ножницы». Камень изображается кулаком, «Ножницы» — двумя растопыренными пальцами, а «Бумага» — раскрытой ладонью.

Ниже приведены различные сценарии, которые могут произойти, и что они могут означать:

  • Камень против Бумаги: Бумага побеждает Камень. Бумага побеждает.
  • Камень против Ножниц: Камень ломает Ножницы. Камень побеждает.
  • Бумага против ножниц: Ножницы режут бумагу. Ножницы побеждают.
  • Те же знаки: ничья!

В этой статье мы воспользуемся нашим пониманием игры и начальными знаниями Python, чтобы написать компьютерную программу. Это будет сделано с помощью условных операторов Python: «if», «elif» и «else», а также модуля random, встроенного в Python. Мы научимся импортировать его и использовать его функции для добавления элемента случайности в нашу игру.

Реализация игры на Python

Теперь мы реализуем игру на Python. Для достижения нашей цели мы воспользуемся концепциями списков и рандомизации Python, используя модуль Python random.

Программа будет проходить следующим образом:

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

Определение списка и генерация ASCII-изображения

Сначала мы сгенерируем ASCII-изображение для игры «Камень, ножницы, бумага». Мы сохраним его в переменных с соответствующими именами, которые, в свою очередь, будут храниться в списке Python rps_list.

камень = «»» _______ —' ____) (_____) (____) (____) —.__(___) «»» бумага = «»» _______ —' ____)____ ______) _______) _______) —.__________) «»» ножницы = «»» _______ —' ____)____ ______) __________) (____) —.__(___) «»» rps_list = [камень, ножницы, бумага ]

57c89e643107ee8adde33158922d97a9

Запрос данных от пользователя

Следующий шаг — получить ввод от пользователя. Мы будем использовать переменную user_choice для хранения выбранного пользователем варианта игры, а также выведем его на экран. Обратите внимание, что переменная user_choice будет хранить ввод в виде строки. Этот ключевой момент будет полезно помнить при использовании условных операторов для сравнения выбора пользователя и компьютера в следующей статье.

user_choice = input(«Что вы выбираете? Введите «камень» для «Камня», «ножницы» для «Ножниц» и «бумага» для «Бумаги») print(f»Пользователь выбирает {user_choice}»)

Случайный выбор компьютера

После того, как пользователь сделал свой выбор, мы заставим компьютер сделать случайный выбор. Для этого мы используем модуль случайного выбора. Подробнее об этом можно узнать по следующей ссылке:

случайный — генерация псевдослучайных чисел

Функция choice() модуля random позволяет нам случайным образом выбирать из списка Python, переданного ей в качестве параметра. Мы сохраним этот случайный выбор в переменной computer_choice и выведем его на экран.

import random computer_choice = random.choice(rps_list) print(f»Компьютер выбирает {computer_choice}»)

Кроме того, вы можете ознакомиться с этой статьей, в которой рассказывается, как включить рандомизацию в наш код с помощью модуля Python random. В ней подробно объясняется работа различных функций с простыми и понятными примерами:

Как реализовать рандомизацию с помощью модуля Python Random

Сценарии с использованием условных операторов

Теперь мы определим все различные сценарии, упомянутые в начале, в виде кода. Для этого мы будем использовать if, elif и else — условные операторы Python.

if computer_choice == камень и user_choice == 'ножницы': print(«Вы проиграли») elif computer_choice == камень и user_choice == 'бумага': print(«Вы выиграли») elif computer_choice == камень и user_choice == «камень»: print(«Рисовать») elif computer_choice == бумага и user_choice == 'бумага': print(«Рисовать») elif computer_choice == бумага и user_choice == 'ножницы': print(«Вы выиграли») elif computer_choice == бумага и user_choice == «камень»: print(«Вы проиграли») elif computer_choice == ножницы и user_choice == «ножницы': print(«Рисовать») elif computer_choice == ножницы и user_choice == «камень»: print(«Вы выиграли») elif computer_choice == ножницы и user_choice == 'paper': print(«Вы проиграли») else: print(«Ошибка»)

Как видно из вышеприведенного кода, мы использовали каждый сценарий, сравнивая выбор компьютера с выбором пользователя, который был сохранен в виде строки, что можно понять из кавычек, а затем распечатали результаты: выиграл ли пользователь, выиграл ли компьютер или же между ними была ничья.

Заключение

Приведенная выше программа представляет собой простой код Python, который легко понять и который дает введение в условные операторы Python и использование модуля random, в частности его функции выбора.

Хотя существует множество способов закодировать сценарии, приведённый выше код был явным и понятным для новичков, включающим условные операторы if, elif и else. Можете ли вы представить себе другой способ закодировать эту игру?

Источник: towardsdatascience.com

✅ Найденные теги: новости, Реализация

Нет других записей в этой рубрике.

Новости других рубрик

Архив рубрики ~Лента новостей~: ИИ уже пишет 80% кода Anthropic. Самое тревожное спрятано в цифре, которую подают как успех Архив рубрики ~Лента новостей~: Компания Aviva использует искусственный интеллект для предотвращения мошенничества в сфере страхования на сумму 230 миллионов фунтов стерлингов. Архив рубрики ~Лента новостей~: ФИФА расширяет использование ИИ на чемпионате мира, чтобы уменьшить количество оскорблений со стороны игроков. Архив рубрики ~Лента новостей~: Богатство звучания: руки мастера или дело техники? Архив рубрики ~Лента новостей~: DuckDuckGo устанавливает Spike, поскольку Google пытается заменить поиск искусственным интеллектом Архив рубрики ~Лента новостей~: AI неожиданно вернул человечество к вопросу о смысле Архив рубрики ~Лента новостей~: Вымирающие мангровые дарвиновы вьюрки вывели 25 птенцов. Это рекордное число с начала наблюдений Архив рубрики ~Лента новостей~: В пятницу история с утечкой воздуха на Международной космической станции приняла тревожный оборот.