问题是这样的
我的解决方案:
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”
。
我没有找到代码的问题所在。
运算符&
是按位的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:
而不是二进制和
问题是您使用的是按位和&
,而不是逻辑运算符和
。
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")