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

流程图转多分支程序:Python分支跳转与输入处理疑问

流程图转程序:分支跳转与输入处理方案

用户问题(翻译后)

我需要把一个包含5个及以上问题的流程图转成程序,目前已经完成第一个有三种结果的问题。请问怎么基于这个结果跳转到下一个问题?在“yes”和“maybe”分支后,我想让用户输入“two”或“four”,不知道怎么结合print和input实现这个操作,也不清楚代码里空方括号的位置该填什么内容。附上当前代码片段:

#start
horse_input=input('you a horse?')
if horse_input =='yes':
   print ('how many legs do you have?')
elif horse_input == 'maybe':
    print('how many legs do you have?')
if[] =='two':
   print("you're not a horse")
elif horse_input=='no':
   print ("not a horse")

解决方案

1. 分支跳转与输入结合的实现

在yes和maybe分支中,不能仅用print()输出提示,需要通过input()获取用户输入并存储到变量中,这样才能对后续输入内容做判断。可以将两个分支合并处理,减少重复代码。

2. 空方括号的填充内容

你代码里的if[]是空的,这里需要填写存储腿数输入的变量名——比如leg_input,也就是用input()获取用户输入时定义的变量。

3. 修正后的完整代码(带后续扩展示例)

# 程序开始
horse_input = input('你是一匹马吗?')
if horse_input == 'yes' or horse_input == 'maybe':
    # 提示并获取用户输入的腿数
    leg_input = input('你有几条腿?')
    if leg_input == 'two':
        print("你不是一匹马")
    elif leg_input == 'four':
        # 这里可以继续添加下一个问题,实现流程跳转
        grass_input = input('你喜欢吃草吗?')
        if grass_input == 'yes':
            print("你大概率是一匹马")
            # 继续扩展更多问题...
        elif grass_input == 'no':
            print("你可能不是一匹马")
elif horse_input == 'no':
    print("你不是一匹马")
else:
    # 处理用户输入不符合要求的情况
    print("请输入yes、maybe或no")

关键说明

  • 将yes和maybe合并到同一条件判断中,避免重复编写提示和输入逻辑
  • 用leg_input变量存储用户输入的腿数,对应代码中原空方括号的位置
  • 在four分支里添加了新的问题示例,你可以按照这个模式继续扩展到5个及以上问题,实现流程图的完整跳转逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:45:38