如何使用sqlite3为python中的两个用户类型提供单独的菜单

如何使用sqlite3为python中的两个用户类型提供单独的菜单,python,sql,sqlite,Python,Sql,Sqlite,我的程序需要一个学生型用户和一个教师型用户。不幸的是,我不知道如何根据用户类型显示不同的菜单。该计划将有不同的菜单,根据他们是学生还是教师,每个人都有自己的功能和用途 def studmain(): screen3 = Tk() screen3.geometry("500x500") screen3.title("Student Menu") screen3.mainloop def teachmain(): screen4 = Tk() scr

我的程序需要一个学生型用户和一个教师型用户。不幸的是,我不知道如何根据用户类型显示不同的菜单。该计划将有不同的菜单,根据他们是学生还是教师,每个人都有自己的功能和用途

def studmain():
    screen3 = Tk()
    screen3.geometry("500x500")
    screen3.title("Student Menu")
    screen3.mainloop

def teachmain():
    screen4 = Tk()
    screen4.geometry("500x500")
    screen4.title("Teacher Menu")
    screen4.mainloop

def loginfunc():
    while True:
        with sqlite3.connect('MyComputerScience.db') as db:
            cursor = db.cursor()
        find_user = ("SELECT * FROM users WHERE username = ? AND password = ?")
        cursor.execute(find_user, (username.get(), password.get()))
        results = cursor.fetchall()
        if results:
            for i in results:
                Label(screen1, text = "Log-in successful!", fg = "GREEN", font = "Calibri").pack()
                find_type = ("Select * FROM users WHERE usertype = Teacher")
                results = cursor.fetchall()
                if results:
                    for i in results:
                        teachmain()
                else:
                    studmain()


        else:
            Label(screen1, text = "Log-in unsuccessful!", fg = "RED", font = "Calibri").pack()
            login()
        break

你的代码没有显示你想要这个菜单或类似的东西。还有,为什么你总是在结尾处断开
break
,而
while True
呢?菜单会在程序识别用户之后出现,而且会有很多中断,因为我刚刚忘记删除它们。我的第一句话是什么意思:请至少展示一下你将如何放置单个菜单。我们不介意在这里阅读。我已经添加了我试图做的事情,但是这两种方式都只显示学生菜单,即使当我以我注册为教师的身份登录时也是如此。故事寓意:手动跟踪代码,检查每一行,以确保它在逻辑上有意义。积极地逐步检查正在运行的代码(即实时调试)并检查变量的值,然后当某些内容看起来不正确时,回溯,询问自己这些值的原因和来源等。查找未使用的代码和/或注意编译器警告等(当然,我怀疑python是否真的标记了这类内容)