UserScore = 0
BotScore = 0
ContinueGame = input('Начать игру?')
while ContinueGame == 'Да' or ContinueGame == 'да':
UserSign = input('Какой знак?')
while UserSign != 'Камень' or UserSign != 'камень' or UserSign != 'Ножницы' or UserSign != 'ножницы' or UserSign != 'Бумага' or UserSign != 'бумага':
print('Введите название правильно')
UserSign = input('Какой знак??')
if UserSign == 'Камень' or UserSign == 'камень':
UserSign = 1
elif UserSign == 'Ножницы' or UserSign == 'ножницы':
UserSign = 2
elif UserSign == 'Бумага' or UserSign == 'бумага': #дело в этом
UserSign = 3
time.sleep(1)
BotSign = random.randint(1, 3)
print('Кидаем...')
time.sleep(1)
BotSign = random.randint(1, 3)
if UserSign == BotSign:
print('Ничья')
UserScore += 1
BotScore += 1
elif UserSign == 3 and BotSign == 1: #1
print('Вы выиграли')
UserScore += 1
elif UserSign == 1 and BotSign == 3:
print('Вы проиграли')
BotScore += 1
elif BotSign == 2 and UserSign == 3:
print('Вы проиграли')
BotScore += 1
elif BotSign == 3 and UserSign == 2:
print('Вы выиграли')
UserScore += 1
elif BotSign == 2 and UserSign == 1:
print('Вы выиграли')
UserScore += 1
elif BotSign == 1 and UserSign == 2:
print('Вы Проиграли')
BotScore += 1
print('Вас счет', UserScore)
print('Счет Компьютера', BotScore)
ContinueGame = input('Хотите продолжить игру?')
continue_game = input('Продолжить игру?: ').lower()
if continue_game == 'да':
#....
or
, соответственно, код выполнится, если любое из выражений выполнено. Вводите бумага - Бумага != камень, значит условие выполнено. Используйте and + lower() из примера выше. В итоге выйдетUserSign = input('Какой знак?').lower()
while UserSign != 'камень' and UserSign != 'ножницы' and UserSign != 'бумага':
#....
allowed_signs = ['камень', 'ножницы', 'бумага']
UserSign = input('Какой знак?').lower()
while UserSign not in allowed_signs:
#....