該菜單為用戶提供輸入選項(xiàng)。主要重點(diǎn)是像以前那樣無錯(cuò)誤地調(diào)用函數(shù)。解決方法是我的代碼格式不正確。首先顯示(),然后登錄()并注冊(cè)()。分辨率:def displayMenu(): global menu_input menu_input = input("Please enter one of the following options:\n r - register user\n a - add task\n va- view all tasks\n vm - view my tasks\n e - exit\n") if menu_input == "r": register() elif menu_input == "a": add_task() elif menu_input == "va": view_all() elif menu_input == "vm": view_more() elif menu_input == "e": exit() return menu_inputdisplayMenu()def login(): username = input("Please enter your username?:\n") password = input("Please enter your password?:\n") for line in open("user.txt","r").readlines(): field = line.strip().split(",") if username == field[0] and password == field[1]: print("Username & Password Correct!\n") return True print("Username & Password Incorrect\n") return Falselogin() def register(): register = False while register == False: username = input("Please enter a username?: ") password = input("Please enter a password?: ") password_check = input("Please re-enter the password?:") if password == password_check: file = open("user.txt","a") file.write (username) file.write (",") file.write (password) file.write("\n") file.close() register = True print ("Your login details have been saved. ") else: print("Passwords doesn't match!")register()
2 回答

紅糖糍粑
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
您應(yīng)該在調(diào)用 之前聲明該函數(shù)。register
displayMenu()
嘗試將函數(shù)聲明移動(dòng)到代碼的頂部。

狐的傳說
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
我的解決方案是將我的函數(shù) login() 移動(dòng)到所有其他函數(shù)的下面,而不調(diào)用它們,除非在 displayMenu() & displayMenu_Admin()中。
另外,我不得不閱讀函數(shù)(),因?yàn)槲覜]有完全理解這個(gè)概念。
添加回答
舉報(bào)
0/150
提交
取消