day08作业

用户输入用户名、密码
将用户输入的内容按照固定的格式,比如: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
原文地址:https://www.cnblogs.com/msj513/p/9681927.html