Python函数return语句无输出问题排查求助
问题分析与修复
你的代码存在两个核心问题,导致执行后无输出甚至报错,以下是具体问题和修复方案:
1. 未打印函数返回值
你调用了三个函数,但仅执行了函数逻辑,没有将返回结果输出到控制台。Python的return语句仅会把值返回给调用者,不会自动打印,必须用print()显式输出才能看到结果。
2. 布尔值语法错误
Python的布尔值大小写敏感,必须写成False和True,而代码里的false和true会被解释器视为未定义变量,运行时会抛出NameError。
修正后的代码
def main(): j = int(input("Enter a number ")) age = int(input("How old are you? ")) # 打印每个函数的返回值 print(yourBirthPlace()) print(pentapalooza(j)) print(oldEnoughToDrinkInGermany(age)) def yourBirthPlace(): return "Chicago" def pentapalooza(j): # 简化逻辑,直接返回计算结果 return j * 5 def oldEnoughToDrinkInGermany(age): legal_age = 16 # 简化布尔判断,直接返回条件表达式结果 return age > legal_age main()
额外说明
- 德国合法饮酒年龄规则:16岁可饮用啤酒、葡萄酒等低酒精饮品,18岁才能饮用烈酒,若需精确对应规则,可调整
legal_age的判断逻辑。 - 函数名和变量名遵循Python蛇形命名法(如
legal_age而非LegalAge),代码可读性会更好。
内容的提问来源于stack exchange,提问作者Travis Entner
相关产品推荐
相关产品推荐

