用户输入用户名、密码
将用户输入的内容按照固定的格式,比如:egon: 123,存入文件
可以往一个文件中重复注册新的用户名和密码
附加:
1、对输入的用户名进行合法性监测,不能以数字开头,且如果输入的用户名已存在于文件中则要求用户重新输入
2、对输入的密码进行合法性监测,密码的长度至少6位,并且不能包含特殊字符 * &$
1 while True:
2 name = input('请输入用户名').strip()
3 if name[0].isdigit():
4 print('包含数字开头请重新输入用户')
5 continue
6 with open(r'db1.txt',mode='rt',encoding='utf-8') as read_f,
7 open(r'db1.txt',mode='at',encoding='utf-8') as write_f:
8 for line in read_f:
9 u,k = line.strip('
').split(':')
10 if name == u:
11 print('用户名已存在')
12 break
13 else:
14 pwd = input('请输入密码:').strip()
15 if len(pwd)<6 or '*'in pwd or '&'in pwd or '$'in pwd:
16 print('密码错误')
17 continue
18 else:
19 write_f.write('{}:{}
'.format(name,pwd))
20 print('注册成功')
21 break
二、实现用户验证功能更:
思路:
用户输入账号密码,从文件中读出账号密码,与用户输入的进行比对
附加:新建黑名单文件,同一个账号名输错三次则将用户名写入黑名单文件中,如果用户输入的用户名存在于黑名单中则直接退出
1 tag = True
2 while tag:
3 name = input('请输入账户:').strip()
4 # pwd = input('请输入密码:').strip()
5 with open(r'hmd.txt',mode='rt',encoding='utf-8') as rhmd:
6 for line in rhmd:
7 hmd=line.strip('
')
8 if name ==hmd:
9 print('黑名单')
10 tag = False
11 break
12 if not tag:
13 continue
14 with open(r'db.txt',mode='r',encoding='utf-8') as rf:
15 for line in rf:
16 user,psward = line.strip('
').split(':')
17 if name == user:
18 break
19 else :
20 print('用户名不存在')
21 continue
22 count =0
23 while count<3:
24 pwd = input('请输入密码:').strip()
25 if pwd == psward:
26 print('登陆成功')
27 tag = False
28 break
29 else:
30 print('请重新输入密码')
31 count+=1
32 continue
33 else:
34 with open('hmd.txt',mode='at',encoding='utf-8') as hmd:
35 hmd.write('%s
'%user)
36 tag =False
37 break