Код опроса, оператор if из другого оператора if - PullRequest
0 голосов
/ 12 июля 2019

Я делаю опрос, в котором я задаю вопрос, и если на этот вопрос дан ответ «нет», он должен перейти к этому вопросу.

Однако, поскольку это оператор 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 голосов
/ 12 июля 2019

Посмотри на свою логику. Это мое лучшее предположение, потому что отсутствует код, и не было предоставлено отслеживание ошибок, чтобы указать, на какой линии произошла ошибка. Это строки, которые выполняются, если первое 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".
...