流程图转多分支程序: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
相关产品推荐
相关产品推荐

