python案例 使用者登入

2021-09-22 09:28:53 字數 2237 閱讀 6772

要求:

•輸入使用者名稱密碼

•認證成功後顯示歡迎資訊

•輸錯三次後鎖定

1 #!/usr/bin/env python

2 # -*- coding:utf-8 -*-

3 4 """

5 使用者登陸功能例項

6 1、獲取db檔案中所有的使用者資訊

7 2、比較使用者資訊

8 如果使用者名稱不存在,則直接退出

9 如果使用者名稱存在

10 檢測密碼,如果密碼存在,則提示登陸成功,並將登陸錯誤次數重置為 0 ,修改記憶體中的字典中記錄的登陸錯誤次數。(並寫入檔案)

11 如果密碼不存在

12 修改記憶體中的字典中記錄的登陸錯誤次數

13 14 將最新的登陸錯誤次數和對應使用者資訊寫入檔案

15 16 """

17 18

19 # 讀取使用者資訊到 user_info_list 中

20 read = file('db','r')

21 user_info_list = read.readlines()

22 read.close()

23 24 # 處理 user_info_list,以便之後的使用者名稱和密碼比較

25 # 處理後的結果: user_info_dict = , 'eric': }

26 user_info_dict = {}

27 for item in user_info_list:

28 user_info = item.split('|')

29 user_info_dict[user_info[0]] =

30 31 while true:

32 username = raw_input('請輸入使用者名稱:')

33 # 使用者名稱不存在

34 if username not in user_info_dict.keys():

35 print '使用者名稱不存在,請重新輸入!'

36 # 使用者名稱存在

37 else:

38 # 判斷登陸次數

39 if user_info_dict[username]['times'] > 3:

41 break

42 else:

43 pwd = raw_input('請輸入密碼:')

44 if user_info_dict[username]['pwd'] == pwd:

45 # 如果登陸成功,將登陸次數重置為 0

46 user_info_dict[username]['times'] = 0

47 print '恭喜您 %s,登陸成功' % username

48 else:

49 # 如果登陸失敗,將登陸次數加一

50 user_info_dict[username]['times'] += 1

51 52 # 將最新的登陸次數寫入檔案

53 temp_list =

54 for key, value in user_info_dict.items():

55 temp = "%s|%s|%d" % (key, value['pwd'], value['times'])

57 temp_str = "\n".join(temp_list)

58 w_obj = file('db', 'w')

59 w_obj.write(temp_str)

60 w_obj.flush()

61 w_obj.close()

***************當你發現自己的才華撐不起野心時,就請安靜下來學習吧***************

python例項 python案例 使用者登入

1 usr bin env python 2 coding utf 8 4 5 使用者登陸功能例項 6 1 獲取db檔案中所有的使用者資訊 7 2 比較使用者資訊 8 如果使用者名稱不存在,則直接退出 9 如果使用者名稱存在 10 檢測密碼,如果密碼存在,則提示登陸成功,並將登陸錯誤次數重置為 0 ...

使用者登入案例 初級

使用者登入案例需求 1.編寫login.html登入頁面 username password 兩個輸入框 2.使用druid資料庫連線池技術,操作mysql,day14資料庫中user表 3.使用jdbctemplate技術封裝jdbc 5.登入失敗跳轉到failservlet展示 登入失敗,使用者...

使用者登入案例 涉及web JDBC

使用者登入案例 案例需要 使用者登入案例需求 1.編寫login.html登入頁面 username password 兩個輸入框 2.使用druid資料庫連線池技術,操作mysql,day14資料庫中user表 3.使用jdbctemplate技術封裝jdbc 5.登入失敗跳轉到failservl...