Я сталкиваюсь с ошибкой имени в этой программе, включающей команды if / elif / else, так как я начинаю кодировать в IST в следующем году в школе - PullRequest
0 голосов
/ 08 января 2020
rain = input('Is it currently raining? ')
if rain == 'Yes':
print('You should take the bus.')
elif rain == 'No':
d = int(input('How far in km do you need to travel? '))
if d >= 2:
print("You should ride your bike.")
else:
print("You should walk.")

имя ошибки, которая появляется: Traceback (последний вызов был последним): файл "program.py", строка 6, если d> = 2: NameError: имя 'd' не определено

1 Ответ

1 голос
/ 08 января 2020

На основании вашего сообщения об ошибке ваш код, вероятно, выглядит следующим образом:

rain = input('Is it currently raining? ')
if rain == 'Yes':
    print('You should take the bus.')
elif rain == 'No':
    d = int(input('How far in km do you need to travel? '))
if d >= 2: # error happens on this line because 'd' is only defined if you answer 'No' to the first question
    print("You should ride your bike.")
else:
    print("You should walk.")

Это будет работать без выдачи этой ошибки:

rain = input('Is it currently raining? ')
if rain == 'Yes':
    print('You should take the bus.')
elif rain == 'No':
    # do all of this code if rain == 'No'
    d = int(input('How far in km do you need to travel? '))
    if d >= 2:
        print("You should ride your bike.")
    else:
        print("You should walk.")
...