Python代码报错'n is not defined':奇偶判断逻辑崩溃求助
解决代码崩溃问题:"n is not defined"
嘿,我来帮你搞定这个报错!你的代码之所以会抛出n is not defined的错误,核心问题是变量定义的顺序不对。
Python是从上到下逐行执行代码的,你的判断逻辑(那个if语句)写在了n变量被赋值的代码前面——当Python运行到if n in range(6, 21)...这一行时,n还没被创建(赋值的代码在下面的if __name__ == '__main__':块里),自然就会报错说变量未定义啦。
修复后的代码(保留原逻辑)
把判断逻辑移到n被赋值之后,也就是放到__main__代码块里,就能正常运行了:
if __name__ == '__main__': n = int(input()) if n in range(6, 21) or n % 2 != 0: print("Weird") else: print("Not Weird")
如果要严格符合你的需求(奇数输出Weird,偶数输出Not Weird)
原代码的逻辑其实额外加了“6到20之间的偶数也输出Weird”的条件,如果你的真实需求是纯奇偶判断,那可以简化成这样:
if __name__ == '__main__': n = int(input()) if n % 2 != 0: print("Weird") else: print("Not Weird")
这样不管输入的偶数是多少,都会输出Not Weird,奇数则输出Weird,完全匹配你的预期功能。
内容的提问来源于stack exchange,提问作者John Asare
相关产品推荐
相关产品推荐

