制作流程图时收到回溯错误

时间:2018-10-12 12:56:37

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

已要求我编写一个代码,询问用户3个问题,并且用户必须输入“是”或“否”答案,然后,如果用户应接听电话,则将输出响应。第一个问题询问用户是否正在睡觉,如果用户输入“是”,则输出将为“不回答”,如果输入为“否”,则输出将询问是否为妈妈打来。如果答案为“是”,则输出为答案,“否”,它将询问是否是早晨。如果输入为“是”,则输出为“不回答”,如果答案为“否”,则为“答案”。 这是我为此创建的代码,但是当询问用户是否处于睡眠状态时输入“ yes”时,我收到有关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")

1 个答案:

答案 0 :(得分:0)

问题是,如果您在第一阶段回答“是”,则从不分配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