python循環與判斷


學習一門新的語言最重要的就是練習。

 

一、腳本需求:

編寫登陸接口

  • 輸入用戶名密碼
  • 認證成功后顯示歡迎信息
  • 輸錯三次后鎖定

二、腳本流程圖:

寫代碼之前畫個流程圖總是好的,可以讓你理清思路,避免寫着寫着代碼出現懵逼的情況。

三、思路,遇到的坑。

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的強制循環的意義。

 

謝土豪

如果有幫到你的話,請贊賞我吧!


免責聲明!

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



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