Image

Реализация игры «Камень, ножницы, бумага» на 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

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

ИИ почти всех обгонит? Прогнозы звучат громко, но есть нюансы…
Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.
dummy-img
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
dummy-img
dummy-img
Взаимодействие человека и машины погружается под воду.
Взаимодействие человека и машины погружается под воду.
Image Not Found
Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Вкратце Опубликовано: Изображение предоставлено: Thos Robinson/Getty Images для The New York Times (откроется в новом окне) Джули Борт Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.…

Апр 21, 2026
dummy-img

Как почистить виниловые пластинки (2026): пылесос, ультразвук, чистящий раствор, щетка.

Эти щелчки и треск недопустимы. Приведите свою музыку в порядок с помощью этого удобного руководства. Источник: www.wired.com

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых