代码中接收游泳/等船输入的第二块运行时显示None是什么原因
选择逻辑代码输出None的原因排查
- 封装的选择逻辑函数无显式返回值
Python中所有函数默认返回None,如果你的第二块选择逻辑是封装在自定义函数中,只在函数内执行了input()接收输入、print()打印提示,没有加return语句把用户输入的选择值返回,你接收函数返回值并打印时就会得到None。
错误示例:
def get_user_choice(): print("请选择操作:1.游泳 2.等待船只") input() # 未return返回输入结果 choice = get_user_choice() print(choice) # 输出None
修复方案:把用户输入结果return出来
def get_user_choice(): print("请选择操作:1.游泳 2.等待船只") return input() # 新增return返回输入值
- 错误把无返回值方法的执行结果赋值给变量
print()这类方法本身的返回值就是None,如果你错误地把print()的执行结果赋值给选择变量,或者直接打印print()的调用结果,也会输出None。
错误示例:
choice = print("请选择操作:1.游泳 2.等待船只") # print返回None直接赋值给变量 print(choice) # 输出None
修复方案:分开写提示打印和输入接收逻辑,不要用print的返回值赋值。
- 条件分支漏写返回逻辑
如果你的选择逻辑里包含多分支判断,部分分支没有写return语句,程序触发到无返回值的分支时,也会返回None。需要检查所有分支路径是否都正确返回了需要的结果。
内容的提问来源于stack exchange,提问作者Mohit Malhotra
相关产品推荐
相关产品推荐

