You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现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

火山引擎 最新活动