|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目是:尝试编写一个用户登录程序
我写的代码是:
- dic1 = {}
- program = 1
- def login():
- while program:
- print('''|---新建用户:N/n---|
- |---登录账户:E/e---|
- |---退出程序:Q/q---|
- |---请输入程序代码:''', end = '')
- a = input()
- if a == N or a == n:
- temp = str(input('请输入用户名:'))
- while temp in dic1:
- print('此用户名已经被使用,请重新输入', end = '')
- temp = str(input())
- code = str(input('请输入密码:'))
- dict1[temp] = code
- print('注册成功,赶紧试试登录吧/n')
- if a == E or a == e:
- username = str(input('请输入用户名:'))
- while username not in dic1:
- print('您输入的用户名不存在,请重新输入:', end = '')
- username = str(input())
- else:
- passcode = str(input('请输入密码:')
- [color=Red]while passcode != dic1.get(username):[/color]
- print('密码错误,请重试:', end = '')
- passcode = str(input())
- else:
- print('欢迎进入系统,请点击右上角X结束程序!/n')
- program = 0
- if a ==Q or a == q:
- program = 0
- else:
- print('指令错误,请重新输入:')
复制代码
运行的时候一直提示标红的地方有错误,请问一下究竟是哪里出问题了?还有小章鱼这道题的代码为什么每次运行一个循环后就会空一行再继续运行下一次循环,是哪个代码实现了这个功能呢?
谢谢大家!
本帖最后由 昨非 于 2021-1-2 21:14 编辑
好多小毛病,已经修改了
- dic1 = {}
- def login():
- program = 1
- while program:
- print('''|---新建用户:N/n---|
- |---登录账户:E/e---|
- |---退出程序:Q/q---|
- |---请输入程序代码:''', end = '')
- a = input()
- if a not in ['N','n','E','e','Q','q']: #把最后的else移到最上边来,避免多余的打印
- print('指令错误,请重新输入:')
- if a == 'N' or a == 'n': #这里n要加引号,==前后都是字符串类型,必须相同,下面也一样
- temp = input('请输入用户名:')
- while temp in dic1:
- print('此用户名已经被使用,请重新输入', end = '')
- temp = input()
- code = input('请输入密码:')
- dic1[temp] = code #这儿有拼写错误
- print('注册成功,赶紧试试登录吧/n')
- if a == 'E' or a == 'e':
- username = input('请输入用户名:')
- while username not in dic1:
- print('您输入的用户名不存在,请重新输入:', end = '')
- username = input()
- else:
- passcode = input('请输入密码:')
- while passcode != dic1.get(username):
- print('密码错误,请重试:', end = '')
- passcode = input()
- else:
- print('欢迎进入系统,请点击右上角X结束程序!/n')
- #program = 0 #如果加上这个的话,程序执行到登陆成功就会自动退出
- if a == 'Q' or a == 'q':
- program = 0
- login()
复制代码
|
|