最近在學習python,所以嘗試的寫了一段由註冊到登陸的代碼,但願獲得你們的指導html
首先先說一下個人邏輯:python
在這裏我分別定義寫文件、讀文件、註冊、登陸的函數,以下圖結構目錄:app
邏輯和結構介紹完後,按照慣例,應該是上代碼了:ide
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('請輸入用戶名>>>:')
file.pyspa
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())
註冊.pycode
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())
login.pyhtm
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()
username.txtblog
{'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
原文出處:https://www.cnblogs.com/weimeizhizuo/p/10167699.html