【问题标题】:Receiving a traceback error when doing a flowchart执行流程图时收到回溯错误
【发布时间】:2018-10-12 12:56:37
【问题描述】:

我被要求编写一个代码来询问用户 3 个问题,并且用户必须输入“是”或“否”的答案,然后如果用户应该接听电话,它将输出一个响应.第一个问题询问用户是否睡着了,如果用户输入“是”,则输出将是“不回答”,如果输入为“否”,则输出将询问是否是妈妈在打电话。如果答案是“是”,则输出将是“否”,它会询问是否是早上。如果输入为“是”,则输出为“不回答”,如果答案为“否”,则为“回答”。 这是我为此创建的代码,但是当我在询问用户是否睡着时输入“是”时,我收到有关 stage2 的回溯错误。我将如何解决这个问题? (Python)

print("Your Cell Phone is ringing")

print("Are you asleep?")
stage= input()
if stage == 'yes':
    print("Don't Answer the phone")
elif stage =='no':
    print("Is Mom calling?")


if  stage =='no':
    stage2= input()
    if stage2 =='no':
        print("Is it morning?")
else:
    print("Answer the phone")

if stage2 =='no':
    stage3= input()
    if stage3 =='no':
        print("Answer the phone")
    else:
        print("Don't answer the phone")

【问题讨论】:

    标签: python-3.x if-statement flowchart


    【解决方案1】:

    问题是,如果您在第一阶段回答“是”,则永远不会分配 stage2。

    看看你的 if 语句的结构。仅当 stage == 'no' 时才分配 stage2,但最后会检查它,而不管先前的选择是什么。您需要以仅在右侧分支中检查阶段 2 的方式更改结构。

    if stage1 == 'no':
      stage2 = input()
      if stage2 == 'no':
        #do step 3 as well
      else:
        #end reached
    else:
      #end reached
    

    【讨论】:

      猜你喜欢
      • 2022-10-13
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2019-05-22
      • 2017-08-31
      • 2020-12-12
      相关资源
      最近更新 更多