Как сделать камень ножницы бумага на python

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

Удалить лишние скобки

Скобки не нужны и могут (должны) быть удалены.

Используйте dict для управления сложенным if / else

Всякий раз, когда я вижу сложенный if / else, я пытаюсь реструктурировать код, используя вместо этого dict (отображение). Чистые результаты структуры if / else в вашем коде могут быть помещены в dict следующим образом:

Если results отображаются таким образом, тогда взаимодействие с пользователем становится более ясным, и ваш цикл может просто стать:

Это пример отделения UI (пользовательского интерфейса) от Бизнес-логика.

Интересно, что я даже не думал об использовании диктовки таким образом. Спасибо!

Шаблон проекта в архиве: games.zip

Инструкция по установке¶

Запустить программу “командная строка” (cmd.exe)

Ввести команду “python -m pip install easygui”

python - интерпретатор питона; -m - команда на запуск другой программы; pip - менеджер пакетов; install - команда на установку какой-либо библиотеки; easygui - название библиотеки.

© Copyright Revision d00c0df4 .

Versions latest Downloads html On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.

Не работает после того как я выбираю камень, ножницы или бумагу
Что тут не так?
да-да я сделал топорно и тд

В таком полуторакилометровом коде немудрено и ошибиться.

if comb1 in wincomb: print ('Поздравляем! Выиграли вы!')
elif comb2 in wincomb: print ('Выиграл компьютер. ')
else: print ('Ничья. ')

Что за фокусы?
if comb1 in wincomb: print ('Поздравляем! Выиграли вы!')
elif comb2 in wincomb: print ('Выиграл компьютер. ')
else: print ('Ничья. ')

Python является многоцелевым языком, и с ним можно делать буквально все, что угодно. Python также может быть использован для разработки игр. Давайте создадим простую командную строку Rock-Paper-Scissor игру без использования каких-либо внешних игровых библиотек, таких как PyGame.

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

В этой игре встроенная функция randint () используется для генерации случайного целочисленного значения в заданном диапазоне.

Ниже приведена реализация:

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

Первый компьютер будет выбирать по принципу randint(1,3)

Как сделать так, чтобы второй компьютер всегда выигрывал?
Язык программирования - Python.

valeron9814

\u00a0 \u00a0player = int(input(\"1 - \u043a\u0430\u043c\u0435\u043d\u044c, 2 - \u043d\u043e\u0436\u043d\u0438\u0446\u044b, 3 - \u0431\u0443\u043c\u0430\u0433\u0430. \"\n

\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0446\u0438\u0444\u0440\u0443: \"))\n

\u00a0 \u00a0if (player == 1 or player == 2 or player == 3):\n

\u00a0 \u00a0 \u00a0 \u00a0ver = 1\n

\u00a0 \u00a0print(\"\u0412\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043a\u0430\u043c\u0435\u043d\u044c.\")\n

\u00a0 \u00a0print(\"\u0412\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043d\u043e\u0436\u043d\u0438\u0446\u044b.\")\n

\u00a0 \u00a0print(\"\u0412\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0431\u0443\u043c\u0430\u0433\u0443.\")\n

comp = random.randint(1, 3)\n

\u00a0 \u00a0print(\"\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u044b\u0431\u0440\u0430\u043b \u043a\u0430\u043c\u0435\u043d\u044c.\")\n

\u00a0 \u00a0print(\"\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u044b\u0431\u0440\u0430\u043b \u043d\u043e\u0436\u043d\u0438\u0446\u044b.\")\n

\u00a0 \u00a0print(\"\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u044b\u0431\u0440\u0430\u043b \u0431\u0443\u043c\u0430\u0433\u0443.\")\n

if player == comp:\n

\u00a0 \u00a0win = 0\n

if player == 1 and comp == 2:\n

\u00a0 \u00a0win = 1\n

if player == 1 and comp == 3:\n

\u00a0 \u00a0win = 2\n

if player == 2 and comp == 1:\n

\u00a0 \u00a0win = 2\n

if player == 2 and comp == 3:\n

\u00a0 \u00a0win = 1\n

if player == 3 and comp == 1:\n

\u00a0 \u00a0win = 1\n

if player == 3 and comp == 2:\n

\u00a0 \u00a0win = 2\n

\u00a0 \u00a0print(\"\u041f\u043e\u0431\u0435\u0434\u0438\u043b \u0438\u0433\u0440\u043e\u043a!\")\n

\u00a0 \u00a0print(\"\u041f\u043e\u0431\u0435\u0434\u0438\u043b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440!\")\n

part_numbers = int(input('\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0442\u0438\u0439: '))\n

while part_number_default != part_numbers:\n

\u00a0 \u00a0rock_paper_scissors = random.randint(1,3)\n

\u00a0 \u00a0guess_pc1 = random.randint(1,3)\n

\u00a0 \u00a0guess_pc2 = random.randint(1,3)\n

\u00a0 \u00a0if rock_paper_scissors == guess_pc1:\n

\u00a0 \u00a0 \u00a0 \u00a0pc1_count +=1\n

\u00a0 \u00a0elif rock_paper_scissors == guess_pc2:\n

\u00a0 \u00a0 \u00a0 \u00a0pc2_count +=1\n

\u00a0 \u00a0elif rock_paper_scissors != guess_pc1 and rock_paper_scissors != guess_pc2:\n

\u00a0 \u00a0 \u00a0 \u00a0draw_count += 1\n

\u00a0 \u00a0part_number_default += 1\n

if pc1_count > pc2_count:\n

\u00a0 \u00a0print('\u041f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u0442\u0435\u0440 \u043f\u043e\u0431\u0435\u0434\u0438\u043b!')\n

elif pc2_count > pc1_count:\n

\u00a0 \u00a0print('\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043f\u043e\u0431\u0435\u0434\u0438\u043b!')\n

elif pc1_count == pc2_count:\n

print(pc1_count, ': ', pc2_count, '(\u041d\u0438\u0447\u0435\u0439 \u0432 \u043f\u0430\u0440\u0442\u0438\u044f\u0445:', draw_count, ')')

\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0432\u0441\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f \u043a\u0440\u043e\u043c\u0435 \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u043b( \u043d\u0435 \u0432\u0438\u0436\u0443 \u0441\u043c\u044b\u0441\u043b\u0430 \u0442\u043e\u0433\u0434\u0430 \u044d\u0442\u043e\u0439 \u0438\u0433\u0440\u044b) \u043d\u043e \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0442\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0438\u0433\u0440\u0430\u0448\u0430 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043a, \u0443\u0431\u0430\u0442\u044c \u0441\u0447\u0435\u0442. ">]" data-testid="answer_box_list">

itsgest

player = int(input("1 - камень, 2 - ножницы, 3 - бумага. "

if (player == 1 or player == 2 or player == 3):

print("Вы выбрали камень.")

print("Вы выбрали ножницы.")

print("Вы выбрали бумагу.")

comp = random.randint(1, 3)

print("Компьютер выбрал камень.")

print("Компьютер выбрал ножницы.")

print("Компьютер выбрал бумагу.")

if player == comp:

if player == 1 and comp == 2:

if player == 1 and comp == 3:

if player == 2 and comp == 1:

if player == 2 and comp == 3:

if player == 3 and comp == 1:

if player == 3 and comp == 2:

valeron9814

valeron9814

valeron9814

valeron9814

Ответ:

part_numbers = int(input('Введите количество партий: '))

while part_number_default != part_numbers:

if rock_paper_scissors == guess_pc1:

elif rock_paper_scissors == guess_pc2:

elif rock_paper_scissors != guess_pc1 and rock_paper_scissors != guess_pc2:

if pc1_count > pc2_count:

print('Первый компьтер победил!')

elif pc2_count > pc1_count:

print('Второй компьютер победил!')

elif pc1_count == pc2_count:

print(pc1_count, ': ', pc2_count, '(Ничей в партиях:', draw_count, ')')

Объяснение:

Выполнены все условия кроме второй компьютер всегда выигрывал( не вижу смысла тогда этой игры) но если нужно то это просто сделать, оставить вывод только выиграша второго пк, убать счет.

if computerAnswer == 1:
computerAnswer = 'камень'
elif computerAnswer == 2:
computerAnswer = 'ножницы'
elif computerAnswer == 3:
computerAnswer = 'бумага'

if playerAnswer == computerAnswer:
print('Компьютер выбрал', computerAnswer)
print('У вас ничья!')
elif playerAnswer == 'камень' and computerAnswer == 'ножницы':
print('Компьютер выбрал', computerAnswer)
print('Вы победили!')
yourScore += 1
elif playerAnswer == 'ножницы' and computerAnswer == 'бумага':
print('Компьютер выбрал', computerAnswer)
print('Вы победили!')
yourScore += 1

elif playerAnswer == 'бумага' and computerAnswer == 'камень':
print('Компьютер выбрал', computerAnswer)
print('Вы победили!')
yourScore += 1
else:
print('Компьютер выбрал', computerAnswer)
print('Вы проиграли!')
computerScore += 1

Новые вопросы в Информатика

Помогите пожалуйста. 1. Размеры растрового изображения 1200 на 1200 px. Глубина цвета - 32 бит. Определите вес изображения в мегабайтах. 2. Сколько … цветов содержит палитра, если каждый пиксель изображения кодируется 8 битами? 3. Сканируется цветное изображение размером 25 на 25 см. Разрешающая способность сканера - 600 на 600 dpi, глубина цвета - 3 байта. Сколько мегабайт будет весить полученный графический файл? P.S. 1 дюйм = 2,5 см.

Написать код в программе на ЯП Java. На каждом этаже многоэтажного дома расположены три квартиры; счет квартир идет слева направо. Например, на первом … этаже квартира No 1 расположена слева, квартира No 2 -в центре, квартира No 3 -справа, и так далее. Напишите класс, который принимает с клавиатуры номер квартиры и вы­водит на экран следующую информацию: на каком этаже она расположе­на, и какое место (слева, справа или в центре) она занимает на этом этаже.

Батыр живет в городе A. Он может из города A в город Б долететь за x тенге, а из города Б в город А за y тенге. Батыр на данный момент находится в А, … и у него есть c тенге. Он просит вас узнать, какое максимальное количество раз он может слетать в Б и обратно. Формат входных данных В первой строке содержатся 3 целых чисел x, y, c Даю 100 баллов

5. О Начало ра- Ввод: cd a = d+3.5c не? и адаче Taco состав мир, амора да cudo blogulubix kilala nypply Виенах и ьі аute галмь , kun 2 на 6 как назва … ня аваад доо нет a> 1,3 - да рее имам со его запи- Р. or a cow R= 2,5a-11 R= In(a) biliqimidly naruce WM naukave ть програм Вывод: R -- HAAH конец зайг бий

Читайте также: