if else Условия - PullRequest
       160

if else Условия

0 голосов
/ 12 июля 2020

Проблема вот так

Мое решение:

n= int(input())
if n%2==0:
    if (n >=2 & n<=5):
        print("Not Weird")
    elif n >=6 & n<=20:
        print("Weird")
    else:
        print ("Not Weired")
else:
    print ("Weird")

Теперь, если я ввожу 18, он должен быть напечатан "Weird". Но он показывает "Not Weird".

Я не понимаю, в чем проблема моего кода.

Ответы [ 3 ]

1 голос
/ 12 июля 2020

Оператор & - это побитовая операция и. Вместо этого вам нужно логическое И , и это делается с помощью ключевого слова and.

Просто замените & на and:

n= int(input())
if n%2==0:
    if (n >=2 and n<=5):    #modified here!
        print("Not Weird")
    elif n >=6 and n<=20:   #modified here!
        print("Weird")
    else:
        print ("Not Weird")
else:
    print ("Weird")
1 голос
/ 12 июля 2020

попробуйте использовать:

if n >= 2 and n <= 5:
elif n >= 6 and n <= 20:

вместо двоичного и

0 голосов
/ 12 июля 2020

Проблема в том, что вы используете побитовое и & вместо логического оператора and.

n= int(input())

if n%2 == 0:
    if n >=2 and n<=5:   # Changed condition
        print("Not Weird")
    elif n >=6 and n<=20:   # Changed condition
        print("Weird")
    else:
        print ("Not Weired")

else:
    print ("Weird")
...