中途經過了好幾天都沒有動手了,得堅持下去啊
剛看了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、若賬號錯誤,對賬號的鎖死的處理該如何修改呢?
現在還沒一點思路呢
python編寫登錄接口(上)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.