调查代码,来自另一个if语句的if语句

时间:2019-07-12 03:23:36

标签: python-3.6

我正在做一个调查,问一个问题,如果回答为否,应该去那个问题。

但是,因为它是if语句上的if语句,所以给我的错误名称未定义。

这是一个学校项目,我需要对调查进行编程,但是我无法在Google上找到解决方法。

   antwoord4 = []
file = open("antwoord4.txt" , "a")

vraagCorrect = True
while vraagCorrect:
  vraag4 = input("Heeft u wel eens iets moeten opzoeken op het internet?(ja/nee) ")
  if vraag4 == "ja":
    vraagCorrect = False
  elif vraag4 == "nee":
    vraagCorrect = False
  else:
    print("Dit is geen correct antwoord, antwoord aub met een ja of nee. ")

antwoord4.append(vraag4)

antwoord41 = []
file = open("antwoord41.txt" , "a")
if vraag4 == "ja":
  vraag41 = input("Waarvoor moest u iets opzoeken?(vrij antwoord)")
  antwoord41.append(vraag41)

file.write(str(antwoord41))
file.write("\n")

antwoord42 =[]
file = open("antwoord42.txt", "a")

if vraag4 == "nee":
  vraagCorrect = True
  while vraagCorrect:
    vraag42 = input("Leest u ooit bronnen op het internet?(ja/nee) ")
    if vraag42 == "ja":
      vraagCorrect = False
    elif vraag42 == "nee":
      vraagCorrect = False
    else:
      print("Dit is geen correct antwoord, gebruik aub ja of nee")
  antwoord42.append(vraag42)
file.write(str(antwoord42))
file.write("\n")

if vraag42 == "nee":
  vraagCorrect = True
  while vraagCorrect:
    vraag1000 = input("Dankuwel, wij hebben alle info die we moeten hebben. U kunt dit tablad sluiten en hoeft deze vraag niet te beantwoorden. ")
    if vraag1000 == "alleen u leest dit dus niemand zal dit invullen":
      vraagCorrect = False
    elif vraag1000 == "Ik vond dit alleen de makkelijkste manier om geen nutteloze antwoorden te krijgen":
      vraagCorrect = False
    else:
      print("\n")

我希望如果有人回答“是”,它将被跳过,但是在我到达之前,代码给出了一个错误,该错误会阻止整个调查。

它给名字'vraag42'未定义错误。

1 个答案:

答案 0 :(得分:0)

看看你的逻辑。这是我最好的猜测,因为缺少代码并且没有提供错误回溯来告诉错误发生在哪一行。如果第一个if为假,这些行将执行:

if vraag4 == "no":          # assume this is false
  ...                       # skip body of if
file.write(str(antwoord42)) # (missing code, so I assume antwoord42 was defined earlier)
file.write("\n")

if vraag42 == "no":         # vraag42 was defined in the skipped if body, so "not defined error".