Python 3.8.5 НЕ ПРАВИЛЬНО РАБОТАЕТ игра

#камень, ножницы , бумага
#импортируем модуль и заставляем его выбрать одно случайное число (0-2)
    import random
    winner = ' '
    computer_choice = random.randint (0, 2) #0,1,2
#выбраному числу присваиваем значение
    if computer_choice == 0 :
        computer_choice = 'камень'
    elif computer_choice == 1  :
        computer_choice = 'бумага'
    else:
        computer_choice = 'ножницы'
#спрашиваем, что выбрал юзер
    user_choice = input('Камень, ножницы или бумага?  ')
#прописываем возможные исходы( победа пк ) , в остальных случаях будет победа юзера
    if computer_choice == user_choice :
        winner = 'Ничья'
    elif computer_choice ==  'бумага' and user_choice == ' Камень':
        winner = 'Компьютер'
    elif computer_choice == 'Камень' and user_choice == ' ножницы':
        winner = 'Компьютер'
    elif computer_choice == 'бумага' and user_choice == ' бумага':
        winner = 'Компьютер'
    else: winner == 'Пользователь!'
#объявление победителя
    if winner == 'Ничья':
        print('Мы оба выбрали ' + computer_choice + ', играем снова!')
    else:
        print('Я выиграл, я выбрал ' + computer_choice)

Ответы (1 шт):

Автор решения: CrazyElf
if computer_choice == 0 :
    computer_choice = 'камень'
                      ^^^^^^^^
...
elif computer_choice ==  'бумага' and user_choice == ' Камень':
                                                     ^^^^^^^^^
    winner = 'Компьютер'
elif computer_choice == 'Камень' and user_choice == ' ножницы':
                                                    ^^^

У вас в сравниваемых строках:

  • разный регистр, приведите все слова к одному регистру
  • лишние пробелы в начале строки, уберите их

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

rock = 'камень'
paper = 'бумага'

if computer_choice == 0 :
    computer_choice = rock
...
elif computer_choice == paper and user_choice == rock:
...

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

user_choice = user_choice.strip().lower()
→ Ссылка