簡體   English   中英

如何定義一個函數?

[英]How to define a function?

當我運行腳本時,它說函數 (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();

“請輸入 pin ::56910 Traceback(最近一次調用最后一次):文件“/Users/MartinSomogyi/Documents/password_management.py”,第 8 行,validation();文件“/Users/MartinSomogyi/Documents/password_management.py” “,第 5 行,在驗證中 main() NameError: name 'main' 未定義”

您的腳本目前:

  1. 定義驗證()
  2. 調用驗證()
  3. 定義 main()
  4. 調用 main()

但是第 2 步中的validation()調用了直到第 3 步才定義的main() ,因此出現錯誤。 在 python 中,頂層的所有腳本(即任何不是函數或類定義、導入或簡單賦值的內容)都應該放在文件的末尾,最好在if __name__ == '__main__':塊,像這樣:

def validation():
    ...

def main():
    ...

if __name__ == '__main__':
    validation()
    main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM