将整个函数用while True包起来保持程序运行,只有在输入q或Q时才打印退出程序和break退出循环。然后把空字典的创建放在循环外面保证每次循环字典不会被清空。
字典添加新的键和值可以直接dict1[键名] = 键值加入,这个办法既可以覆盖已有键,也可以创建未有的键。
参考代码(答案有用函数的,我这里就用没用函数的吧):
- pool = dict()
- while 1:
- print('|--- 新建用户:N/n ---|')
- print('|--- 登录账号:E/e ---|')
- print('|--- 退出程序:Q/q ---|')
- order = input('|--- 请输入指令代码:')
-
- if order == 'N' or order == 'n':
- name = input('请输入用户名:')
- while name in pool:
- name = input('该用户名已经被使用,请重新输入:')
- passwd = input('请输入密码:')
- pool[name] = passwd
- print('注册成功,赶紧试试登录吧~~~')
-
- elif order == 'E' or order == 'e':
- name = input('请输入用户名:')
- while name not in pool:
- name = input('您输入的用户不存在,请重新输入:')
- passwd = input('请输入密码:')
- while passwd != pool[name]:
- passwd = input('密码错误,请重新输入:')
- print('欢迎进入xxx系统,请点击右上角的x结束程序!')
- break
-
- elif order == 'Q' or order == 'q':
- break
-
- else:
- print('无效的指令代码!')
- print()
-
- if order == 'E' or order == 'e':
- print('loading……')
- else:
- print('程序已退出!')
复制代码