Код запускается в командной строке, но не на водороде - PullRequest
0 голосов
/ 03 августа 2020

Я только начинаю программировать (python3), используя информацию, доступную на Inte rnet. Прямо сейчас я учусь использовать try / except. Моя проблема в том, что код, который я написал, отлично работает в командной строке windows 10, но не в оболочке (Atom / Hydrogen), где выдает ошибку (строка 6, NameError), потому что я не определил переменную " fi sh ", я знаю, что обычно бывало наоборот, но я просто хочу понять, ошибаюсь ли я. Код выглядит следующим образом:

>try:
>>    fish = int (input("please enter your age "))
>except:
>>    print("That's not a number ")
>>    exit(0)
>if fish <= 15:
>>    parentLicense = input ("have one of your parents have a license? (yes/no) ")
>>    if parentLicense == "yes":
>>>        print ("You can fish")
>>    else:
>>>        print("So sad, you or one of your parents need a license")

1 Ответ

0 голосов
/ 03 августа 2020

Привет, Хирон, и добро пожаловать в сообщество. Причина, по которой вы получаете неопределенную ошибку, заключается в том, что fi sh может быть не определен при определенных обстоятельствах в операторе try. Вы должны использовать

try:
    # try stuff
except ValueError:
    # do stuff when theres an error
else:
    # stuff if try stuff works

иначе вызывается только в том случае, если не возникает исключения. Я бы не стал использовать голый код, за исключением того, что он может вызвать проблемы и не является хорошей практикой.

...