Проблема в коде игры камень ножницы бумага

Не работает игра камень/ножницы/бумага. Я написал самым простым алгоритмом, с if

import random

input('Viberete"noznici,kolodec or bymaga": ')
random_number = random.randint(1, 3)


if input == "noznici" and random_number == 1:
    print("Nichya, ya toze vibral noznici")
elif input == "noznici" and random_number == 2:
    print("Ti proigral, ya vibral kolodec")
elif input == "noznici" and random_number == 3:
    print("Ti vigral, ya vibral bymagy")

if input == "kolodec" and random_number == 1:
    print("Ti vigral, ya vibral noznici")
elif input == "kolodec" and random_number == 2:
    print("Nichya, ya toze vibral kolodec")
elif input == "kolodec" and random_number == 3:
    print("Ti proigral, ya vibral bymagy")

if input == "bymaga" and random_number == 1:
    print("Ti proigral, ya vibral noznici")
elif input == "bymaga" and random_number == 2:
    print("Ti vigral, ya vibral kolodec")
elif input == "bymaga" or random_number == 3:
    print("Nichya, ya toze vibral bymagy")

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

Автор решения: tohatsu

input - функция. когда вы сравниваете функцию со строкой, поянтно, что у вас ничего не получится. Эта функция возвращает ответ пользователя. Вы же его никуда не сохраняете, а надо сохранить в переменную, это я и сделал в строке answer = input("") Удачи в изучении python!

import random

answer = input('Viberete"noznici,kolodec or bymaga": ')
random_number = random.randint(1, 3)

if answer == "noznici" and random_number == 1:
    print("Nichya, ya toze vibral noznici")
elif answer == "noznici" and random_number == 2:
    print("Ti proigral, ya vibral kolodec")
elif answer == "noznici" and random_number == 3:
    print("Ti vigral, ya vibral bymagy")

if answer == "kolodec" and random_number == 1:
    print("Ti vigral, ya vibral noznici")
elif answer == "kolodec" and random_number == 2:
    print("Nichya, ya toze vibral kolodec")
elif answer == "kolodec" and random_number == 3:
    print("Ti proigral, ya vibral bymagy")

if answer == "bymaga" and random_number == 1:
    print("Ti proigral, ya vibral noznici")
elif answer == "bymaga" and random_number == 2:
    print("Ti vigral, ya vibral kolodec")
elif answer == "bymaga" or random_number == 3:
    print("Nichya, ya toze vibral bymagy")
→ Ссылка
Автор решения: Vlad100

Нужно поменять код таким образом.

import random

choose = input('Viberete noznici,kolodec or bymaga": ')
random_number = random.randint(1, 3)

if choose == "noznici" and random_number == 1:
    print("Nichya, ya toze vibral noznici")
elif choose == "noznici" and random_number == 2:
    print("Ti proigral, ya vibral kolodec")
elif choose == "noznici" and random_number == 3:
    print("Ti vigral, ya vibral bymagy")

if choose == "kolodec" and random_number == 1:
    print("Ti vigral, ya vibral noznici")
elif choose == "kolodec" and random_number == 2:
    print("Nichya, ya toze vibral kolodec")
elif choose == "kolodec" and random_number == 3:
    print("Ti proigral, ya vibral bymagy")

if choose == "bymaga" and random_number == 1:
    print("Ti proigral, ya vibral noznici")
elif choose == "bymaga" and random_number == 2:
    print("Ti vigral, ya vibral kolodec")
elif choose == "bymaga" or random_number == 3:
    print("Nichya, ya toze vibral bymagy")

Я заношу результат функции input() в переменную choose. А потом проверяю в if равняется ли choose bymaga/kolodec/noznici.

→ Ссылка