python注冊與登錄實例


  最近在學習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'}

  

 

歡迎大家進群討論 : 775129837

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM