Как определить функцию? - PullRequest
0 голосов
/ 24 января 2019

Когда я запускаю скрипт, он говорит, что функция (main) не определена, но если я поставлю функцию 'main' наверх, она просто запустит это без проверки

пробовал разные имена и позиции,

def validation():
    pin=int(input("please enter the pin \n::"))
    if pin == 56910:
        main()
    else:
        print("please enter a valid pin or leave")
validation();


def main():
    option=int(input("Hello welcome to my password managing program,    
    \n please select from one of the following options below \n 1-Checking existing e-mail and password, \n 2-Creating new password for a website")) 

    if option == "1":
        print("hello")
    if option =="2":
        print("option 2")
main();

"введите пин-код :: 56910 Traceback (последний вызов был последним): файл" /Users/MartinSomogyi/Documents/password_management.py ", строка 8, в проверке(); Файл "/Users/MartinSomogyi/Documents/password_management.py", строка 5, в проверке main () NameError: имя 'main' не определено "*

1 Ответ

0 голосов
/ 24 января 2019

Ваш скрипт на данный момент:

  1. определяет проверку ()
  2. вызывает проверку ()
  3. определяет main ()
  4. вызывает main ()

, но validation() на шаге 2 вызывает main(), который не определен до шага 3, следовательно, ошибка.В Python весь ваш скрипт на верхнем уровне (т.е. все, что не является определением функции или класса, импортом или простым присваиванием) по этой причине должен идти в end вашего файла, предпочтительно в if __name__ == '__main__': блок, вот так:

def validation():
    ...

def main():
    ...

if __name__ == '__main__':
    validation()
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...