最近在学习python,因此尝试的写了一段由注册到登录的代码,希望得到大家的指导
首先先说一下我的逻辑:
在这里我分别定义写文件、读文件、注册、登录的函数,如下图结构目录:
逻辑和结构介绍完后,按照惯例,应该是上代码了:
main.py
1 #!--*--coding:utf8--*--
2 from 练习.file import r_file, file
3 from 练习.login import login
4 from 练习.loginuser import login_name
5
6
7 def call():
8 if login_name in r_file():
9 login()
10 else:
11 print('该用户未注册,是否去注册?'
12 'y,去注册')
13 choose = input("请输入你的选择>>>:")
14 if choose == 'y':
15 ret = file()
16 else:
17 login()
18 return login_name
19
20
21 if __name__ == '__main__':
22 call()
loginuser.py
1 #!--*--coding:utf8--*--
2
3 login_name = input('请输入用户名>>>:')
View Code
file.py
1 #!--*--coding,utf8--*--
2
3 #用来存储用户和操作用户信息
4 from 练习.注册 import register
5 import ast
6 #写文件
7 def file():
8 f = open('username.txt', 'a', encoding='utf8')
9 user = register()
10 f.write(str(user) + '\n')
11 f.close()
12 #读文件中的内容
13 def r_file():
14 f = open('username.txt',encoding='utf8')
15 list = []
16 for user in f.readlines():
17 lin = ast.literal_eval(user)
18 login_user = lin['username']
19 list.append(login_user)
20 f.close()
21 return list
22
23
24 if __name__ == '__main__':
25 print(r_file())
View Code
注册.py
1 #!--*--coding,utf8--*--
2 def register():
3 flag = True
4 while(flag):
5 user_name = input('请输入用户名>>>:')
6 age = input('请输入年龄>>>:')
7 phone = input('请输入电话号码>>>:')
8 if 2<=user_name.__len__()<10 and 0<age.__len__()<3 and phone.__len__()==11:
9 userinfo = {'username':user_name,'age':age,'phone':phone}
10 print('恭喜您,注册成功')
11
12 flag = False
13 else:
14 print('信息填写不正确,请确认再提交')
15 return userinfo
16
17
18
19 if __name__ == '__main__':
20 print(register())
View Code
login.py
1 #! --*--coding:utf8--*--
2
3 from 练习.file import r_file
4 from 练习.loginuser import login_name
5
6 def login():
7 flag = True
8 while(flag):
9 #user_name = input('输入用户名>>>:')
10 #user_name = call()
11 #login_name
12 if login_name in r_file():
13 print('欢迎%s,祝您玩的愉快'%login_name)
14 flag = False
15
16
17 if __name__ == '__main__':
18 login()
View Code
username.txt
{'username': '***', 'age': '***', 'phone': '***'}
{'username': '***', 'age': '***', 'phone': '***'}
{'username': '张三同学你好游戏', 'age': '29', 'phone': '13323233232'}
{'username': '李四', 'age': '29', 'phone': '13323233232'}
{'username': '王五', 'age': '29', 'phone': '13323233232'}
{'username': '站起来撸', 'age': '33', 'phone': '13321211111'}