Help me, please!

Vitaliy

Новичок
Пользователь
Июл 25, 2022
2
0
1
Ребят, помогите, пожалуйста, второй день в обучении. Не показывается инфа о проигрыше. Не догоняю в чем дело.
Python:
#-*-coding:cp1251-*-
print("  Загадайте два числа от 1 до 5, и если Вы угадываете оба, то получаете 100 монет\
\nесли угадываете одно из чисел - то получаете 25 монет, а если\
\nне угадываете вовсе - теряете 50 монет.")
while True:
    x = int(input(" [Введите первое число] : "))
    y = int(input(" [Введите второе число] : "))
   

    if  x == 3 and y == 5 or x == 5 and y == 3:
        print(" Вы выиграли 100 монет")
   
    elif x != 3 or 5 and y == 3 or 5 and x == 3 or 5 and y != 3 or 5 :
        print(" Вы выиграли 25 монет")
   
    elif x != 3 or 5 and y != 3 or 5:
        print(" Вы проиграли! -50 монет.")
 
Последнее редактирование:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
порядок операторов такой:
not and or
поэтому у тебя идет проверка в таком порядке
x == 3 or (x == 5 and y != 3) or y != 5

и т.к. y != 5 верно, то и все условие считается верным
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
надо писать не
x == 3 or 5
а
x == 3 or x == 5
 

Vitaliy

Новичок
Пользователь
Июл 25, 2022
2
0
1
надо писать не
x == 3 or 5
а
x == 3 or x == 5
Все равно инфа о проигрыше не показывается.(
Python:
#-*-coding:cp1251-*-
print("  Загадайте два числа от 1 до 5, и если Вы угадываете оба, то получаете 100 монет\
\nесли угадываете одно из чисел - то получаете 25 монет, а если\
\nне угадываете вовсе - теряете 50 монет.")
while True:
    x = int(input(" [Введите первое число] : "))
    y = int(input(" [Введите второе число] : "))
    
    if  x == 3 and y == 5 or x == 5 and y == 3:
        print(" Вы выиграли 100 монет")
    elif x != 3 or x != 5 and y == 3 or y == 5:
        print(" Вы выиграли 25 монет")
    elif x == 3 or x == 5 and y != 3 or y != 5:
        print(" Вы выиграли 25 монет")
    elif x != 3 or x != 5 and y != 3 or y != 5:
        print(" Вы проиграли! -50 монет.")
 

Форум IT Специалистов