|
发表于 2020-9-8 17:22:54
|
显示全部楼层
本楼为最佳答案
 - user_data = {}#用于存储用户数据
- def new_user(): #定义函数,新建用户
- prompt = '请输入用户名:'
- while True:
- name = input(prompt) #判断输入内容是否在用户数据内
- if name in user_data:
- prompt = '此用户名已经被使用,请重新输入:'
- continue
- else:
- break
- passwd = input('请输入密码:')#输入密码
- user_data[name] = passwd#将输入内容以键值对形式计入用户数据中
- print('注册成功,赶紧试试登录吧^_^')
- def old_user(): #定义已有用户登陆函数
- prompt = '请输入用户名:'
- while True:
- name = input(prompt)
- #输入用户名,判断不在用户数据中时,重新输入
- if name not in user_data:
- prompt = '您输入的用户名不存在,请重新输入:'
- continue
- else:
- break
-
- passwd = input('请输入密码:')
- pwd = user_data.get(name)#输入密码,验证(判断)登录
- if passwd == pwd:
- print('欢迎进入XXOO系统,请点右上角的X结束程序!')
- else:
- print('密码错误!')
- def showmenu():#定义菜单函数,打印多行菜单
- prompt = '''
- |--- 新建用户:N/n ---|
- |--- 登录账号:E/e ---|
- |--- 推出程序:Q/q ---|
- |--- 请输入指令代码:'''
- while True:#主循环
- chosen = False #定义bool变量,作为是否调用函数的标记
- while not chosen:
- choice = input(prompt)
- if choice not in 'NnEeQq':#如果没有按要求输入
- print('您输入的指令代码错误,请重新输入:')
- else:#否则,改变标记
- chosen = True
- #根据输入内容,按照菜单执行
- if choice == 'q' or choice == 'Q':
- break
- if choice == 'n' or choice == 'N':
- new_user()
- if choice == 'e' or choice == 'E':
- old_user()
- showmenu()#调用
复制代码 |
|