Python默认参数编程练习求助:实现指定效果及退出功能
问题修复与实现方案
原代码的核心问题
tester函数中用函数名tester作为while循环条件,逻辑无效,且循环内直接return会立刻退出,循环毫无意义givenstring是main函数的局部变量,tester函数无法直接访问,会触发NameError- 没有实现循环输入逻辑,仅执行一次输入就结束程序
- 未添加"quit"命令的判断逻辑
修复后的完整代码
def check_input_length(input_str): if len(input_str) < 10: print("too short") else: print(input_str) def main(): while True: user_input = input("输入内容(输入quit退出): ") if user_input.lower() == "quit": break check_input_length(user_input) if __name__ == "__main__": main()
代码说明
- 重命名原
tester函数为check_input_length,更贴合功能,接收输入字符串作为参数,直接判断长度并输出结果,移除无效循环 - 在
main函数中用while True实现无限循环,输入"quit"(不区分大小写)时用break终止程序 - 将输入逻辑放在循环内,实现重复输入的效果
- 通过参数传递解决变量作用域问题,避免未定义错误
内容的提问来源于stack exchange,提问作者H. Ach
相关产品推荐
相关产品推荐

