使用赋值运算符时输出异常,求修正奇偶性判断Python代码
问题解答:判断整数"Weird"或"Not Weird"的代码问题
嘿,我看了你写的代码,这里面有好几处逻辑和语法问题,导致没法得到正确输出,我来给你拆解一下:
代码里的核心错误点
- elif条件顺序完全错了:第一个
elif n%2 ==0已经覆盖了所有偶数情况,后面的elif永远不会被执行,因为条件是互斥的 - 误用for循环做区间判断:你想用
for n in range(2,5)来判断输入的n是否在[2,5]区间,这完全不对——这会让程序循环遍历2到4的数,重复打印结果,根本不是判断输入值的逻辑 - Python语法错误:Python里的逻辑与运算符是
and,不是&&,用&&会直接触发语法报错 - 区间判断方式错误:判断n是否在某个闭区间,应该用
2 <= n <=5这种直接的比较表达式,而不是去遍历range
修正后的正确代码
if __name__ == '__main__': n = int(input("Enter a number:")) if n % 2 != 0: print("Weird") elif 2 <= n <=5: print("Not Weird") elif 6 <= n <=20: print("Weird") elif n >20: print("Not Weird")
代码逻辑说明
- 首先判断n是否为奇数,是就直接打印"Weird"
- 因为前面已经排除了奇数,剩下的都是偶数,直接按区间判断:
- 偶数且在[2,5]闭区间内,打印"Not Weird"
- 偶数且在[6,20]闭区间内,打印"Weird"
- 偶数且大于20,打印"Not Weird"
这样写逻辑清晰,每一步的条件都能正确触发,不会出现逻辑覆盖或语法错误啦~
内容的提问来源于stack exchange,提问作者Devya it's me.........
相关产品推荐
相关产品推荐

