Ошибка в python 3.9
Помогите у меня ошибка TypeError: unsupported operand type(s) for Sub: 'str' and 'int' on line 32
Вот код:
import random
import time
player_score = 0
pc_score = 0
rounds = 3
#Логика игры
while True:
if rounds <=0:
break
player = input('Выберите: Камень, ножницы, бумага')
pc = random.randint(1,3)
if pc == 1:
pc = 'Камень'
elif pc == 2:
pc = 'Ножницы'
elif pc == 3:
pc = 'Бумага'
if player == comp:
print("Ничья")
elif (player == 'Камень' and pc == 'Ножницы') or (player == 'Ножницы' and pc == 'Бумага') or (player == 'Бумага' and pc == 'Камень'):
print('Игрок побеждает!')
player_score += 1
else:
print('Компьютер побеждает!')
pc_score += 1
rounds -= 1
print('Конец игры')
print('Компьютер:' + ' ' + pc_score)
print('Игрок:' + ' ' + player_score)
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
Как то так:
if pc == 1:
c = 'Камень'
elif pc == 2:
c = 'Ножницы'
elif pc == 3:
c = 'Бумага'
pc = c
код:
import random
player_score = 0
pc_score = 0
rounds = 1
while rounds < 4:
print(f"Раунд {rounds}")
player = input('Выберите: 1-Камень, 2-ножницы, 3-бумага')
dct = {1: 'Камень', 2: 'Ножницы', 3: 'Бумага'}
player = dct[player]
pc = random.choice(['Камень', 'Ножницы', 'Бумага'])
if player == pc:
print("Ничья")
elif (player == 'Камень' and pc == 'Ножницы') or (player == 'Ножницы' and pc == 'Бумага') or (
player == 'Бумага' and pc == 'Камень'):
print('Игрок побеждает!')
player_score += 1
else:
print('Компьютер побеждает!')
pc_score += 1
rounds += 1
print('Конец игры')
print('Компьютер Игрок')
print(f'{pc_score:5} {player_score:7}')
вывод:
Раунд 1
Игрок побеждает!
Раунд 2
Компьютер побеждает!
Раунд 3
Компьютер побеждает!
Конец игры
Компьютер Игрок
2 1