欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

day 8 - 1 文件操作练习

程序员文章站 2022-05-18 22:37:16
注册登录 需求: 1.对账号密码的长度进行限制并不允许出现特殊字符 2.把账号密码储存进文件中 3.密码最多输入错误三次 ......

注册登录

需求:

1.对账号密码的长度进行限制并不允许出现特殊字符

2.把账号密码储存进文件中

3.密码最多输入错误三次

#分别判断注册时账号密码的长度与特殊字符
flag=1
while flag:
    y=0
    x=0
    username = input('请输入注册的账号:')
    if len(username)>=3 and len(username)<=6:
        print('账号长度符合')
        y=1
    else:
        print('账号长度范围 3-6 ')
    if username.isalnum()==1:
        print('账号类型符合')
        x=1
    else:
        print('账号必须是字母或数字')
    if y+x==2:
        flag=0
flag=1
while flag:
    y=0
    x=0
    password = input('请输入注册的密码:')
    if len(password)>=3 and len(password)<=6:
        print('密码长度符合')
        y=1
    else:
        print('密码长度范围 3-6 ')
    if password.isalnum()==1:
        print('密码类型符合')
        x=1
    else:
        print('密码必须是字母或数字')
    if y+x==2:
        flag=0
        
#把正确格式的账号密码写入文件中,并提示注册成功
with open('d:/py/file.txt',mode='w',encoding='utf-8') as f:
    f.write('{}\n{}'.format(username,password))
print("注册成功")

#登录验证用户名与密码,并判读密码输入次数
i=2
lis=[]
flag=1
with open('d:/py/file.txt',mode='r+',encoding='utf-8') as f2:
    for line in f2:
        lis.append(line)
        print(lis)
while flag:
    user = input('请输入账号:')
    if user == lis[0].strip():
        flag=0
    else:print('不存在此账号')
while i>=0:
    pw = input('请输入密码:')
    if pw==lis[1].strip():
        print("登陆成功")
        break
    elif i==0:
        print('登录次数用完,账号已冻结')
    else:
        print("密码错误,还剩余" + str(i) + "次机会")
    i=i-1