一、三个页面:主页面(home)、书店(book)、金融页面(finance)
二、有两种登录方式:主页面和书店页面使用京东帐户登录,金融页面使用微信帐户登陆
二、输入:1 ,进入主页面,以此类推;输入:2 ,进入书店页面;输入:3 ,进入金融页面
三、进入页面时检测有没有登录,若是没有调用登录接口,使用帐号密码登录,在任何界面,只需登录一次便可
四、帐户信息保存在文件里
五、在任意界面,输入:Q ,退出程序
源代码:微信
login_status = False # 登陆状态 with open('帐户信息', 'r') as f_read_self: jingdong = f_read_self.readline().strip() jingdong = eval(jingdong) # 内置函数eval()的做用是把一个字符串转换为字典 for n, m in jingdong.items(): JD_name = n JD_pwd = m with open('帐户信息(微信)', 'r') as f_read_wechat: wechat = f_read_wechat.readline().strip() wechat = eval(wechat) for n, m in wechat.items(): wechat_name = n wechat_pwd = m def login(auth_type="jingdong"): # 判断页面类型,默认进去是京东登陆页面 def page(dis_play): global login_status # 声明全局变量 def login_type(): global login_status # 声明全局变量 if not login_status: # 若是是未登录状态 if auth_type == "jingdong": username = input("Username:") passwd = input("Passwd:") if JD_name == username and JD_pwd == passwd: print("welcome ....") dis_play() # 登录成功执行页面函数,显示内容 login_status = True # 改登录状态为 True else: print("帐户或密码错误,请从新输入") elif auth_type == "wechat": username = input("Username:") passwd = input("Passwd:") if wechat_name == username and wechat_pwd == passwd: print("welcome ....") dis_play() # 登录成功执行页面函数,显示内容 login_status = True # 改登录状态为 True else: print("帐户或密码错误") else: print("已登录") return login_type # 返回login_type 的内存地址,用于指向函数对象 return page @login() def home(): # 主页面 print("welcome to home page") @login() def book(): # 书店 print("welcome to home page") @login(auth_type="wechat") def finance(): # 金融 print("welcome to home page") while True: user_input = input('请输入:\n1: [主页] \n2: [书店] \n3: [金融] \nQ:退出') if user_input == '1': home() elif user_input == '2': book() elif user_input == '3': finance() elif user_input == 'Q': break
帐户信息: {'Tom':'qwe123',}函数
帐户信息(微信): {'Toms':'qwe123',}spa