为何第6行出现'return' outside function错误?求实现Python getContinue函数
问题解答:'return' outside function错误原因及getContinue函数实现
一、'return' outside function错误的原因
这个错误很好理解:return语句必须放在函数定义的内部,Python不允许在函数外面直接使用return。如果出现这个报错,大概率是这两种情况:
- 你不小心把
return的缩进搞错了,导致它跑到了函数体外面(比如缩进比def行还少) - 你写的
return代码根本没被包裹在任何def定义的函数里
举个反例,比如下面的代码就会触发这个错误:
print("Hello") return "test" # 这里不在任何函数里,直接报错
二、修正后的getContinue函数实现
你的原代码逻辑没问题,但有个小笔误(输入提示里的分隔符写成了y:n,应该是y/n),我帮你优化了一下,让代码更简洁:
def getContinue(): # 显示正确的提示文本 response = input('Do you want to continue (y/n): ') # 持续提示直到输入符合要求(大小写y/n都接受) while response not in ('y', 'n', 'Y', 'N'): response = input('Do you want to continue (y/n): ') # 统一返回小写的y或n,简化判断逻辑 return response.lower()
这段代码的逻辑和你原本的思路一致:不断提示用户输入,直到输入是大小写的y或n,最后返回小写的结果。用response.lower()替代原本的if-else判断,代码更简洁易读。
内容的提问来源于stack exchange,提问作者Karina
相关产品推荐
相关产品推荐

