python作业/练习/实战:2、注册、登录(文件读写操作)

作业要求

1、实现注册功能
输入:username、passowrd,cpassowrd
最多可以输错3次
3个都不能为空
用户名长度最少6位, 最长20位,用户名不能重复
密码长度最少8位,最长15位
两次输入的密码要一致
注册成功之后,要写到文件里面

2、登陆功能实现
最多可以输错3次
用户名和密码去文件里面取

提示

列表list、文件的打开/读/写/关闭、判断、循环

相关教程

python学习笔记(二):python数据类型

python学习笔记(三):python运算符

python学习笔记(四):python文件操作

代码范例

注册:

f = open('users.txt', 'a+')#打开一个txt文本,a+意思是追加模式,可读可写
f.seek(0)#将指针移到第1行
bb=(f.read().split('\n'))#将分割后的文本保存成一个list

for i in range(3):
    username = input('请输入用户名:')
    password = input('请输入密码:')
    cpassword = input('请重复输入密码:')
    if username==''or password==''or cpassword=='':
        print('账号或密码不能为空')
    elif bb.count(username)!=0:
        print('用户名重复')
    elif len(username)<6 or len(username)>20:
        print('用户名长度为6-20个字符')
    elif len(password)<8 or len(password)>15:
        print('密码长度为8-15个字符')
    elif password!=cpassword:
        print('两次密码不一致')
    else:
        print('恭喜注册成功!')
        f.write('\n%s,%s'%(username,password))#将用户名和密码写入文本文件中
        # f.write('\n'+username+','+password)#写入文本方法2
        break
else:
    print('输入错误次数过多')
f.close()

登录:

f = open('users.txt', 'a+')
f.seek(0)
aa=(f.read().split('\n'))#将分割后的文本保存成一个list
# print(aa)  #看下全部账号密码有哪些
#['yangfan,123123123', 'niudashen,123123123', 'xiaohong,123123123']
for a in range(3):
    username2 = input('请登录:')
    password2 = input('请输入密码:')
    if(aa.count(username2+','+password2)!=0):
        print('登录成功^_^')
        break
    else:
        print('账号或密码错误,请重新输入')
else:
    print('错误次数过多')
f.close()

猜你喜欢

转载自www.cnblogs.com/haifeima/p/9557593.html