Python布尔值返回为空问题:为何无法输出True/False?
问题分析与修正
你的两段代码核心问题都是没有调用定义好的check_up函数,也没有输出函数的返回结果,所以看不到任何输出。另外第一段代码的返回值也不符合你的需求,具体拆解如下:
第一段代码的问题
- 返回的是拼接后的字符串(比如输入2会返回
"yes True"),不是你想要的布尔值True/False - 定义完函数、获取输入后,没有执行
check_up(num),也没有打印结果
第二段代码的问题
函数逻辑是正确的(输入2返回True,其他数字返回False),但同样没有调用函数并输出结果,所以运行后只会等待输入,输入后没有任何输出。
修正后的代码
如果你需要输入数字后直接输出True/False,可以这样修改第二段代码:
def check_up(num): if num == 2: return True else: return False num = int(input("please enter a number: ")) # 调用函数并打印返回结果 print(check_up(num))
或者更简洁的写法:
num = int(input("please enter a number: ")) print(num == 2)
直接判断输入的数字是否等于2,打印布尔值结果即可,不需要额外定义函数。
内容的提问来源于stack exchange,提问作者DoesNotMatter
相关产品推荐
相关产品推荐

