如何实现Python脚本输入无效时重新打印选择选项?
如何让Python脚本在输入无效时重新显示选项?
嘿,我来帮你搞定这个需求!你当前的脚本在用户输入非1-3的内容时直接退出,要实现「输入错误后重新展示选项让用户再选」的效果,核心就是用循环把输入和判断的逻辑包起来,直到用户输入有效的选项为止。
给你修改后的代码,直接替换原来的select()函数就行:
def select(): while True: # 无限循环,直到用户输入有效选项才退出 option = raw_input(""" Select an option: [1]First [2]Second [3]Third """) if option == '1': print('Hello') break # 执行完操作后跳出循环 elif option == '2': print('Hi') break elif option == '3': print('Hey') break else: print("Invalid input! Please enter 1, 2, or 3.") # 提示错误,循环会自动重新显示选项
简单解释下修改的关键点:
- 用
while True创建一个无限循环,只要用户没输入有效选项,就会一直重复展示选择界面 - 每个有效选项的分支里加了
break,执行完对应操作后就跳出循环,结束函数 - 无效输入的分支不再直接
exit(0),而是打印错误提示,循环会自动回到开头重新让用户输入
如果你想让代码更整洁,还可以把选项提示的文本单独提出来,避免重复写:
def select(): prompt = """ Select an option: [1]First [2]Second [3]Third """ while True: option = raw_input(prompt) if option == '1': print('Hello') break elif option == '2': print('Hi') break elif option == '3': print('Hey') break else: print("Invalid input! Please enter 1, 2, or 3.")
这样不管你之后要修改选项提示的内容,只需要改一处就好啦~
内容的提问来源于stack exchange,提问作者Assassin umz




