python編寫登錄接口(上)


中途經過了好幾天都沒有動手了,得堅持下去啊
剛看了Alex老師的視頻,其中有個題目如下:
編寫登錄接口
-輸入用戶密碼
-認證成功後顯示歡迎信息
-輸錯三次後鎖定

# -*- coding: cp936 -*-
#用戶名保存在一個文件名爲user.txt文件中
import os,string
tmp=file('C:\Users\hityxg\Desktop\user.txt')
username=file('C:\Users\hityxg\Desktop\username.txt','w')
b=tmp.readlines()
for info in b:
   name=info.split()[0]
   username.write(name+'\n')
username.close()

findname=file('C:\Users\hityxg\Desktop\username.txt')
temp=findname.readlines()

#e=file('C:\Users\hityxg\Desktop\username.txt')

#d=e.readlines()
#print d

a=raw_input('plz enter your username:')

num=temp.index(a+'\n')
password=raw_input('plz enter your password:')

#判斷密碼正確與否

for i in range(3):
   if a+' '+password+'\n'==b[num]:
       print 'welcome back'
       break

else:
   print 'you can not enter'    


這是第一次寫的,很多思路處於不成熟的階段,還得額外創建一個文件來儲存中間數據。並且最後一個判定用戶是否成功登錄的算法也是不正確的。這個程序還需要較大的修改和優化。
1、先從後面的錯誤做起吧,把password=raw_input('plz enter your password:')也放入循環中,即可實現多次判斷。
2、如何才能不用前面的那個username.txt文件呢?
可以將中間的username.txt文件用其他來代替,如下:

# -*- coding: cp936 -*-
#用戶名保存在一個文件名爲user.txt文件中
import os,string
tmp=file('C:\Users\hityxg\Desktop\user.txt')
#username=file('C:\Users\hityxg\Desktop\username.txt','w')
b=tmp.readlines()
###此爲修改的關鍵部分
a=raw_input('plz enter your username:')
for i in range(3):
   if a==b[i].split()[0]:
       num=i
   break
###修改部分

for j in range(3):
   password=raw_input('plz enter your password:')

#判斷密碼正確與否
   if a+' '+password+'\n'==b[num]:
       print 'welcome back'
       break


else:
   print 'you can not enter'

3、若賬號錯誤,對賬號的鎖死的處理該如何修改呢?
現在還沒一點思路呢    





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章