问题类似于
我的解决方案:
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")