Ошибка работы приложения Python

import random


stone = str("камень")
cut = str("ножницы")
paper = str("бумага")

comp = float(random.randint(1, 3))
if comp == (1):
    comp = str(stone)
if comp == (2):
    comp = str(cut)
if comp == (3):
    comp == (paper)

user = str(input("Правила игры такие, вы вводите камень, ножницы или бумага. Правила аналогичны игре Камень ножницы бумага."))

if user == (paper) and comp == (paper):
    print("Я выбираю бумагу. Ничья")
elif user == (cut) and comp == (cut):
    print("Я выбираю ножницы. Ничья")
elif user == (stone) and comp == (stone):
    print("Я выбираю камень. Ничья")
elif user == (stone) and comp == (cut):
    print("Я выбираю ножницы. Вы выиграли")
elif user == (cut) and comp == (stone):
    print("Я выбираю камень. Вы проиграли")
elif user == (paper) and comp == (cut):
    print("Я выбираю ножницы. Вы проиграли")
elif user == (cut) and comp == (paper):
    print("Я выбираю бумагу. Вы выиграли")
elif user == (paper) and comp == (stone):
    print("Я выбираю камень. Вы выиграли")
elif user == (stone) and comp == (paper):
    print("Я выбираю бумагу. Вы проиграли")
else:
    print("Неверное значение")
############################################
input()

Иногда в ответ пишет "Неверное значение", с чем это связано не понимаю.


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

Автор решения: S. Nick

Ваша ошибка иногда возникает в этой (не удачной) части кода:

import random

stone = "камень"
cut = "ножницы"
paper = "бумага"

# returns a number between 0 and 3 (both included)
comp = random.randint(0, 3)

print(f'111 comp={comp}') #
if comp == 1:
    comp = stone
if comp == 2:
    comp = cut
if comp == 3:
    comp == paper
print(f'222 comp={comp}') #

введите сюда описание изображения


Замените все выше написанное на одну строку и у вас все получится:

comp = random.choice(['камень', 'ножницы', 'бумага'])

Метод choice() возвращает случайно выбранный элемент из указанной последовательности.

→ Ссылка