Python布尔运算使用是否正确?奇偶判断代码输入后无输出求助
问题分析与修正
你的代码存在两个关键错误,导致输入整数后无输出:
- 错误调用check函数:
main里的if check is True是在判断check这个函数对象本身是否等于布尔值True,这永远不会成立。你需要调用check(number)传入用户输入的数值,获取它返回的布尔判断结果。 - 主程序入口写法错误:
__name__ == "__main__"只是一个比较表达式,没有执行逻辑,必须用if语句包裹,才能在脚本直接运行时触发main函数。
另外,check函数可以简化,无需if-else结构,直接返回判断表达式的布尔结果即可,逻辑和原代码完全一致但更简洁。
修正后的完整代码:
def check(number): return number % 2 == 0 # 直接返回奇偶判断的布尔结果 def main(): number = int(input("Enter an integer: ")) if check(number): # 调用check并传入输入值,判断返回结果 print("This is an even number.") else: print("This is an odd number.") if __name__ == "__main__": # 正确的主程序入口写法 main()
内容的提问来源于stack exchange,提问作者CalebCodes
相关产品推荐
相关产品推荐

