Камень, ножницы, бумага до 3 побед
Помогите, пожалуйста, почему не работает счетчик, что исправить. Я только учусь и пытаюсь понять, что делаю не так?
import random
while True:
comp_choice = random.randint(1,3)
print("Ваш выбор:\n1 - Камень, 2- Ножницы, 3- Бумага")
my_choice = int(input())
Win = 0
Lose = 0
if my_choice == 1 and comp_choice == 2:
print("Win")
Wins = Win + 1
elif my_choice == 2 and comp_choice == 3:
print("Win")
elif my_choice == 3 and comp_choice == 1:
print("Win")
elif my_choice == comp_choice:
print("Drow")
else:
print("Lose")
Losses = Lose + 1
print(f"Твой ход {my_choice}, Противник выбрал {comp_choice}")
if Win == 3 or Lose == 3:
break
if Wins == 3:
print("Ты победил!")
elif Losses == 3:
print("Ты проиграл:(")
Ответы (2 шт):
Автор решения: HerrAskin
→ Ссылка
import random
Win = 0
Lose = 0
while True:
comp_choice = random.randint(1,3)
print("Ваш выбор:\n1 - Камень, 2- Ножницы, 3- Бумага")
my_choice = int(input())
if (my_choice == 1 and comp_choice == 2) or (my_choice == 2 and comp_choice == 3) or (my_choice == 3 and comp_choice == 1):
print("Win")
Win += 1
elif my_choice == comp_choice:
print("Drow")
else:
print("Lose")
Lose += 1
print(f"Твой ход {my_choice}, Противник выбрал {comp_choice}")
if Win == 3 or Lose == 3:
break
if Win == 3:
print("Ты победил!")
else:
print("Ты проиграл:(")
P.S. Маленькое дополнение. Win
и Lose
в соответствии с PEP8 лучше писать маленькими буквами.
Автор решения: S. Nick
→ Ссылка
Как вариант:
from random import randint
wins = 0
losses = 0
dict_game = {
'1': 'Камень',
'2': 'Ножницы',
'3': 'Бумага',
}
while True:
comp_choice = randint(1, 3)
flag = True
while flag:
print("Ваш выбор: 1 - Камень, 2- Ножницы, 3- Бумага")
my_choice = input("Введите 1 или 2 или 3: ")
my_input = dict_game.get(my_choice)
if my_input:
flag = False
my_choice = int(my_choice)
print(f'я = {my_input}; ПК = {dict_game[str(comp_choice)]};')
if (my_choice == 1 and comp_choice == 2) or \
(my_choice == 2 and comp_choice == 3) or \
(my_choice == 3 and comp_choice == 1):
#print("wins")
wins = wins + 1
elif my_choice == comp_choice:
print("Drow")
else:
#print("losses")
losses = losses + 1
print(f"Победы = {wins}; Проигрыши = {losses}")
print()
if wins == 3 or losses == 3:
break
print(f'Wins={wins}; Losses={losses};')
if wins == 3:
print("Вы победили ! ")
elif losses == 3:
print("Вы проиграли :( ")
print()