You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本实现跳过用户输入后后续重新询问的方法

嘿,刚接触Python就能动手写工作脚本超棒的!针对你要实现的「跳过问题后末尾补问」的需求,我给你整理了清晰的实现思路和代码示例,完全贴合你的场景~

核心实现思路
  • 先把所有要问的问题统一管理起来,方便后续维护
  • 第一轮提问时,允许用户选择跳过,把跳过的问题单独存起来
  • 第一轮结束后,专门对跳过的问题进行补问,这次可以强制用户必须给出是/否的回答(避免再次跳过)
  • 最后把所有回答存在字典里,方便后续脚本调用
完整代码示例
# 定义允许的输入选项,统一管理更规范
yes_options = ('yes', 'y')
no_options = ('no', 'n')
skip_options = ('skip', 's')

# 把所有需要提问的问题存在列表里,后续加新问题直接追加就行
questions = [
    {'key': 'power', 'prompt': "Does the site have power? (Yes/No/Skip): "},
    {'key': 'internet', 'prompt': "Is the internet working? (Yes/No/Skip): "},
    # 这里可以继续添加更多工作需要的问题
]

# 存储最终的回答结果,后续脚本直接用这个字典取值
answers = {}
# 存储第一轮被跳过的问题,留着末尾补问
skipped_questions = []

# 第一轮提问:允许用户跳过
print("=== 开始提问 ===")
for q in questions:
    while True:
        # 注意Python3里用input(),如果是Python2就换回raw_input()
        user_input = input(q['prompt']).strip().lower()
        if user_input in yes_options:
            answers[q['key']] = 'yes'
            break
        elif user_input in no_options:
            answers[q['key']] = 'no'
            break
        elif user_input in skip_options:
            skipped_questions.append(q)
            print(f"已跳过该问题,稍后会重新询问")
            break
        else:
            print("输入无效哦,请输入 Yes/No/Skip(或缩写y/n/s)")

# 处理跳过的问题:末尾补问,这次不允许跳过
if skipped_questions:
    print("\n=== 请补回答以下未完成的问题 ===")
    for q in skipped_questions:
        while True:
            user_input = input(f"[{q['key']}] {q['prompt']}(不可跳过)").strip().lower()
            if user_input in yes_options:
                answers[q['key']] = 'yes'
                break
            elif user_input in no_options:
                answers[q['key']] = 'no'
                break
            else:
                print("输入无效,请输入 Yes/No(或缩写y/n)")

# 输出最终结果,方便你后续调用
print("\n=== 所有回答已收集完成 ===")
for question_key, answer in answers.items():
    print(f"{question_key}: {answer}")
关键细节说明
  • 把问题存在列表里的好处是扩展性极强,以后要加新问题直接往questions里加一行就行,不用改核心逻辑
  • 用字典存储回答,后续脚本需要调用时,直接通过answers['power']就能拿到对应问题的回答
  • 补问环节强制用户必须回答,避免出现遗漏的问题(如果确实需要允许再次跳过,可以把补问里的判断逻辑改成和第一轮一样)

内容的提问来源于stack exchange,提问作者Trap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:35:14