首页 > 技术文章 > python实现注册登录小程序

wolfshining 2017-10-10 18:43 原文

用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下:

users.txt里用户字典格式如下:

1 {
2     'name': {'password': '111111', 'role': '1'},
3     'name2': {'password': '222222', 'role': '1'}, 
4     'name3': {'password': '222222', 'role': '1'}
5 }

 

 1 # 注册
 2 f = open('users.txt', 'a+', encoding='utf-8')
 3 f.seek(0)
 4 user_info = eval(f.read())# 字符串转字典
 5 i =0
 6 while i<3:
 7     i += 1
 8     uname = input("请输入用户名:").strip()
 9     upass = input("请输入密码:").strip()
10     passC = input("请确认密码:").strip()
11     if not uname or not upass or not passC:
12         print("注册失败,用户名或密码不能为空")
13         continue
14     if upass != passC:
15         print("注册失败,两次输入密码不一致")
16         continue
17     if uname in user_info:
18         print("注册失败,用户名已存在")
19         continue
20     print("恭喜你,注册成功!")
21     user_info[uname] ={'password':upass,'role':'1'}
22     f.seek(0)
23     f.truncate()
24     f.write(str(user_info))
25 else:
26     print("sorry,register over 3 times bye-bye!")
27 f.close()
28 
29 # 登录
30 fr = open('users.txt', 'r')
31 fr.seek(0)
32 user_info = eval(fr.read())
33 j = 0
34 while j<3:
35     j +=1
36     uname = input("请输入用户名:\n").strip()
37     upass = input("请输入密码:\n").strip()
38     if not uname:
39         print("用户名不能为空")
40         continue
41     if not upass:
42         print("密码不能为空")
43         continue
44     if uname not in user_info:
45         print("用户名不存在")
46         continue
47     if upass != user_info[uname]['password']:
48         print("密码错误")
49         continue
50     print("恭喜你,登录成功!")
51 else:
52     print("sorry! login over 3 times bye-bye! ")
53 f.close()

运行结果:

 

推荐阅读