python3学习–注册登录小程序

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

二、代码
‘‘‘注册登录小程序Author:Test_Lin‘‘‘import datetime#先访问文件,将文件中的内容存到列表当中f = open(RegisterUser.txt,a+) #可以写绝对路径或者相对路径。a+代表追加,w会清空文件内容f.seek(0) #移动文件指针file_info = f.readlines()print(file_info,file_info)users_info = list() #定义一个空的list存放用户名passwd_info = list() #定义一个空的list存放密码all_users = list() #定义一个空的list存放所有账号密码#将已存在的用户名存在一个list中for i in file_info: all_users.append(i.rstrip()) users_info.append(i.split(,)[0])print(all_users,all_users)print(users_info,users_info)#将已存在用户名的密码存在一个list中for i in range(len(all_users)): passwd_info.append(all_users[i].split(,)[1])print(passwd_info:,passwd_info)#####注册######for i in range(3): username = input(请输入用户名:) if username.strip() == ‘‘: print(用户名不能为空!) elif len(username) > 20: print(用户名长度最大为20位!请重新输入。) elif len(username) < 6 and len(username) > 0: print(用户名长度最少为6位!请重新输入。) elif username in users_info: print(该用户已被注册!) else: password = input(请输入密码:) cpassword = input(请输入确认密码:) if password != cpassword: print(密码与确认密码不一致!请确认。) elif len(password) and len(cpassword) < 8: print(密码与确认密码长度最少为8位!,请重新输入。) elif len(password) and len(cpassword) > 15: print(密码与确认密码长度最多为15位!,请重新输入。) elif password.strip() == ‘‘ or cpassword.strip() == ‘‘: print(密码不能为空!) else: print(注册成功!) f.write(n + username + , + password) #注册成功的账号写入文件 f.flush() # 刷新文件 dict_login = dict(zip(users_info, passwd_info)) dict_login.setdefault(username,password) breakelse: print(输入次数过多!)f.close()#####登录######today = datetime.date.today()count = 0while count < 3: count+=1 login_user = input(请输入登录用户名:) login_passwd = input(请输入登录密码:) if login_user in dict_login: if login_passwd == dict_login.get(login_user): print(%s 欢迎登录,今天的日期是 %s 。 % (login_user, today)) break else: print(账号密码有误!) elif login_user.strip() == ‘‘ or login_passwd.strip() == ‘‘: # 账号密码为空判断,且账号为空不计次数 print(账号或密码不能为空!) count -= 1 else: print(账号密码有误!)else: print(n) print(账号密码错误3次,请联系管理员!)

运行结果:

C:Python34python.exe C:/Users/Administrator/PycharmProjects/day3/RegisterLogin.pyfile_info [testlin1,12345678n, testlin2,12345678n, testlin3,12345678]all_users [testlin1,12345678, testlin2,12345678, testlin3,12345678]users_info [testlin1, testlin2, testlin3]passwd_info: [12345678, 12345678, 12345678]请输入用户名:testlin4请输入密码:1234请输入确认密码:1234密码与确认密码长度最少为8位!,请重新输入。请输入用户名:testlin4请输入密码:1234qwer请输入确认密码:1234qwer注册成功!请输入登录用户名:testlin4请输入登录密码:1234qwertestlin4 欢迎登录,今天的日期是 2018-08-30 。Process finished with exit code 0

三、总结:

0、思路:

(1)将文件中的用户读取到两个list1

(2)将整体的用户名及密码读取到一个list2

(3)遍历list3并使用 .append 、.split  来生成密码list3

(4)使用循环来进行登录验证,其中字典中新增一个k-v,使用.setdefault

python3学习--注册登录小程序

(5)两个list可以合并转换为一个dict,使用dict_login = dict(zip(users_info, passwd_info))

1、重难点

字符串、list的操作

 

相关文章