學習一門新的語言最重要的就是練習。
一、腳本需求:
編寫登陸接口
- 輸入用戶名密碼
- 認證成功后顯示歡迎信息
- 輸錯三次后鎖定
二、腳本流程圖:
寫代碼之前畫個流程圖總是好的,可以讓你理清思路,避免寫着寫着代碼出現懵逼的情況。
三、思路,遇到的坑。
1、由於雖然我知道有字典,或者是調用數據庫的函數,但是我決定用最簡單的方式來存放正確的用戶名密碼,放入一個文本文件中。
2、用戶名與密碼,是兩個獨立的字符串,對於效驗來說有一定的難度。於是我在存放的時候把它倆加在了一起,變成了“用戶名密碼”。
3、獲取輸入的用戶名密碼后,同樣把用戶名與密碼拼接為“用戶名密碼”,來與文件中記錄的來進行逐行對比。
4、坑!記錄的文件中有換行符\n,也就是說“用戶名密碼\n”,但是輸入的卻沒有“用戶名密碼”,導致字符串效驗總是失敗。
5、通過strip("\n")來去掉換行符。
四、源代碼
# Cheng count = 0 while count < 3: login = ''' Hellow welcome to login qqzone! ''' login2 = ''' Try again ''' if count == 0: print(login) else: print(login2) user = input("please input your name") passwd = input("please input your password") accept = str(user + passwd) for line in open("C:\\Users\\CH\\Desktop\\file.txt"): line = line.strip("\n") if accept == line: print("Welcome to login QQzone",user) exit() break else: continue print("Your password or username is wrong") count +=1 if count == 3: print("fuck off")
打開的文件的內容
kerwin123456
duckabcdefg
roucewsb
五、python中循環的特點以及語法
for循環
例子
for line in open("C:\\Users\\CH\\Desktop\\file.txt"): line = line.strip("\n") if accept == line: print("Welcome to login QQzone",user) exit() break else: continue
for 開頭和其他語言的沒什么區別,python中for,if,while循環的第一句結尾必須要有個冒號。
python通過強制縮進來控制層級關系,利用這個縮進,省略了比如shell中的fi,done,等。
if循環
if accept == line: print("Welcome to login QQzone",user) exit() break else: continue
這里面寫到了break,continue,和exit()。
break的意思是跳出循環,continue的意思是跳出循環的當前次,進入下一次,exit()的意思是,退出腳本,詳細的就不多介紹。
while循環
例子請見文章開頭的第一個登陸腳本。
腳本中開頭定格就是一個while循環,以后的內容都通過tab縮進,並不頂格,代表其余的所有代碼都是運行在這個while循環中。這也可以讓你理解一下python的強制循環的意義。
謝土豪
如果有幫到你的話,請贊賞我吧!