if else Conditions



问题类似于

我的解决方案:

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"。但它显示出CCD_ 2。

我不知道我的代码问题在哪里。

运算符&是按位和运算。您需要逻辑AND,而这是通过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")

尝试使用:

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

而不是二进制和

问题是您使用的是按位和&,而不是逻辑运算符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")

最新更新