今天我們看看條件陳述式與迴圈語句。
預習:
1、使用while迴圈輸出1 2 3 4 5 6 8 9 10
2、求1-100的所有數的和
3、輸出 1-100 內的所有奇數
4、輸出 1-100 內的所有偶數
5、求1-2+3-4+5 ... 99的所有數的和
6、使用者登陸(三次機會重試)
一、條件陳述式
當我們寫的程式需要分支時,也可以說當一個事件發生時在特定情況下會產生不同處理情況時就會用到我們的條件陳述式。
if...else語句:
單分支:
1 '''2 if 條件 :3 滿足條件後執行的代碼4 '''5 6 age = 187 if age == 18 :8 print("我成年了!")
雙分支:
1 ''' 2 if 條件 : 3 滿足條件後執行的代碼 4 else 5 不滿足if時執行 6 ''' 7 8 age = 19 9 if age <= 18 :10 print("我未年!")11 else :12 print("我成年了!")
多分支:
1 ''' 2 if 條件 : 3 滿足條件後執行的代碼 4 elif 條件 : 5 不滿足上麵條件執行 6 elif 條件 : 7 不滿足上麵條件執行 8 ... 9 else10 不滿足上麵條件執行11 '''12 13 age = 1914 if age <= 18 :15 print("我還未年!")16 elif age >= 18 :17 print("我已經成年了!")18 else :19 print("我今年剛成年!")
縮排:
在其它的語言裡,大多通過{}來確定代碼塊,而python裡沒有{}這就是python中的一大特色。那python怎麼確定執行的代碼塊呢?這就引出了一個概念強制縮排,目的是為了讓程式知道,每段代碼依賴哪個條件,如果不通過縮排來區分,程式無法確定執行的代碼塊。
Python的縮排原則:
頂級代碼必須頂行寫,即如果一行代碼本身不依賴於任何條件,那它必須不能進行任何縮排
同一層級的代碼,縮排必須一致
官方建議縮排用4個空格,當然你也可以按你習慣的方式縮排。
二、迴圈語句
while語句:
1 '''2 while 條件 :3 滿足條件後執行的代碼4 '''5 6 count = 0 7 while count <= 100 : #只要count<=100就不斷執行下面的代碼8 print("loop ", count )9 count +=1 #每執行一次,就把count+1,要不然就變成死迴圈啦,因為count一直是0
while...else語句:
與其它語言else 一般只與if 搭配不同,在Python 中還有個while ...else 語句。while 後面的else 作用是指,當while 迴圈正常執行完,中間沒有被break 中止的話,就會執行else後面的語句。
死迴圈:
有一種迴圈叫死迴圈,一但進入死迴圈,程式就會運行到天荒地老永遠無法退出。
while 是只要後邊條件永遠成立(也就是條件結果永遠為真)就一直執行。
例如:上面的代碼,如果沒有代碼 count += 1 ,程式將進入死迴圈。因為count = 0 ,count <= 100 永遠成立。
迴圈終止語句:
如果在迴圈的過程中,因為某些原因,你不想繼續迴圈了,就要用到break 或 continue 終止語句。
break:完全跳出迴圈,執行迴圈後的代碼。
continue:跳出本次迴圈,不執行continue後的代碼,重新進入迴圈進行迴圈的條件判斷。
for迴圈:
1 for i in range (4) : # i 為變數 (4)取值範圍2 print(">>:",i) # 0 1 2 33 4 for i in range (1,5) : # 顧頭不顧尾5 print(">>:",i) # 1 2 3 46 7 for i in range (1,5,2) : # 步長2 每兩個取一個值8 print(">>:",i) # 1 3
九九乘法表練習:
1 for i in range(1,10) :2 for j in range(1,i+1) :3 print("%s*%s=%s" %(j,i,i*j),end=" ")4 print()
結果:
預習解答:
1 #使用while迴圈輸出1 2 3 4 5 6 8 9 10 2 count = 1 3 while count <= 10 : 4 print(count) 5 count += 1 6 if count == 7 : 7 count += 1 8 9 #count = 010 #while count < 10 :11 # count += 112 # if count == 7 :13 # continue14 # print(count)
1 #求1-100的所有數的和2 count = 13 sum = 04 while count <= 100 :5 sum += count6 count += 17 print(sum)
1 #輸出 1-100 內的所有奇數2 count = 13 while count <= 100 :4 print(count)5 count += 2
1 #輸出 1-100 內的所有偶數2 count = 23 while count <= 100 :4 print(count)5 count += 2
1 #求1-2+3-4+5 ... 99的所有數的和 2 count = 1 3 sum = 0 4 while count < 100 : 5 if count % 2 == 1 : 6 sum += count 7 else : 8 sum -= count 9 count += 110 print(sum)
1 #使用者登陸(三次機會重試) 2 username = "oldbody" 3 password = 10086 4 count = 1 5 print("請輸入賬戶密碼共三次嘗試機會!") 6 while count <= 3 : 7 name = input("請輸入賬戶:") 8 pswd = int(input("請輸入密碼:")) 9 if name == username and pswd == password :10 print("輸入正確!")11 break12 else :13 print("第",count,"輸入錯誤請重新輸入!")14 count += 1
小知識點:
print()內建一個分行符號。
如果想取消預設分行符號加end(""),詳情可以參考九九乘法表的代碼。