Помогите пожалуйста
написание компьютерной игры Камень-ножницы-бумага
Задание: Пользователю на выбор предлагается ввести камень, ножницы или бумагу. Противником пользователя является компьютер. Поэтому далее вам необходимо сгенерировать рандомный выбор компьютера - так же камень, ножницы или бумагу. После этого в соответствии с известными правилами игры определяется победитель, о чем выводится сообщение в консоль.
После первого раунда программа НЕ завершается, а спрашивает у пользователя, хочет ли он сыграть еще. Если он соглашается - то начинается новый раунд. Если нет - то программа завершается. Соответственно, игра может продолжаться до тех пор, пока пользователь не откажется ее продолжать.
Подсказки:
1. Бесконечную игру можно реализовать с помощью бесконечного цикла вида
while True:
Из него можно выйти с помощью простой команды
break
2. Для реализации рандомного выбора компьютера вам понадобятся функции из особого модуля. Чтобы их подключить, в начале программы необходимо написать
import random
Выбор рандомного камня-ножниц-бумаги можно реализовать с помощью двух функций из этого модуля - random.choice(list) и random.uniform(start,end). Они делают немного разные вещи, но обе подойдут для нашего случай - тут уже на ваш вкус. Кратко объясним их смысл:
✅random.choice(list) - возвращает случайное значение из списка list.
✅random.uniform(start,end) - возвращает случайное дробное число в диапазоне от start до end
Ответы
import sys
from random import choice
def rock_paper_scissors():
dict_wins ={
'камень': 'ножницы',
'ножницы': 'бумага',
'бумага': 'камень'
}
human_choice = input('Ваш ход: ')
if human_choice not in dict_wins.values():
print('Неверный ход, попробуйте снова!')
rock_paper_scissors()
ii_choice = choice(list(dict_wins.values()))
print('Ход компьютера:',ii_choice)
if ii_choice == human_choice:
print('Ничья!')
elif ii_choice == dict_wins[human_choice]:
print('Вы выйграли!')
else:
print('Вы проиграли, может в следующий раз повезет больше.')
question()
def question():
answer = input('Не хотите сыграть еще раз? (да/нет)\n')
if answer not in ['да','нет']:
print('Я вас не понимаю, попробуйте ответить снова!')
question()
elif answer == 'да':
rock_paper_scissors()
else:
print('Cпасибо за игру!')
sys.exit()
rock_paper_scissors()
question()
