第一個python程序-判斷登陸用戶名和密碼是否正確


 1 #setencoding=utf-8
 2 #用戶名和密碼輸入正確,則登陸成功
 3 #用戶名正確密碼錯誤,只再輸入密碼,有3次機會
 4 #錯誤3次,則把用戶名放入lock中
 5 import os,sys
 6 #存放用戶名和密碼的文件是E:\python\user.txt
 7 accounts_file = 'E:\\python\\user.txt'
 8 #被鎖的用戶要寫入此文件
 9 lock_file = 'E:\\python\\lock.txt'
10 #先讀出來放內存中,免得每次輸入用戶后進行判斷都要打開文件
11 user =file(accounts_file)
12 account_list=user.readlines()
13 user.close()
14 #控制是否退出while大循環的標識
15 loginSucess =False
16 #這里用的大while循環,所以用戶名輸不對,就會一直輸,如果想限制用戶名輸入次數,那么while改成for
17 while True:
18     #raw_input是一個內置函數,獲取用戶輸入,與用戶建立交互
19     #strip()是忽略空格
20     username = raw_input('username:').strip()
21     #先判斷用戶名是否存在,用戶名如果存在才繼續,如果不存在,直接跳出循環,結束
22     if len(username)!=0:
23         #用戶名如果不為空的時候,判斷是不是存在
24         for i in account_list:
25             #i讀到的是一行,而一行有2列,第1列就是索引為0的才是用戶名,第二列索引為1的是密碼
26             #split()方法是分隔符,默認是空格,
27             i = i.split()
28             if username==i[0]:#用戶名正確
29                 #用戶名正確的時候,只給3次輸入密碼的機會
30                 for x in range(3):
31                     password = raw_input('password:').strip()
32                     if password==i[1]:
33                         loginSucess=True#如果為True的時候,直接走上上級for下的if,歡迎完就退出
34                         break
35                         #如果密碼錯誤
36 
37                 #如果匹配正確或循環中有break就退出,,else不執行
38                 else:
39                     print '%s ,你已經輸入錯誤密碼3次了,going to lock ' %username
40                     l = file(lock_file,'a')
41                     l.write(username+'\n')
42                     l.close()
43                     view  = file(lock_file)
44                     print view.read()
45 
46         if loginSucess is True:
47             print '登陸成功,welcome to my system!!!'
48             break     #登陸成功就直接跳出while大循環
49         elif loginSucess is False:  #這種是用戶名輸入錯誤,它的節點在用戶不為空的條件之下 ,這里不能用break,不能跳出while大循環,因為我要你一直輸,直到成功
50             print '用戶名輸入錯誤,請重新輸入。'
51         else:  #用戶名也正確,輸入密碼不正確3次
52             print '%s,sorry ,輸入密碼3次錯誤你已被鎖' % username
53             break
54     else:#用戶名輸入為空的時候
55         continue

 


免責聲明!

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



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