python基礎(4):條件語句與循環語句
今天我們看看條件語句與循環語句。
預習:
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 = 18 7 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 else 10 不滿足上面條件執行11 ‘‘‘ 12 13 age = 19 14 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 3 3 4 for i in range (1,5) : # 顧頭不顧尾 5 print(">>:",i) # 1 2 3 4 6 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 = 0 10 #while count < 10 : 11 # count += 1 12 # if count == 7 : 13 # continue 14 # print(count)
1 #求1-100的所有數的和 2 count = 1 3 sum = 0 4 while count <= 100 : 5 sum += count 6 count += 1 7 print(sum)
1 #輸出 1-100 內的所有奇數 2 count = 1 3 while count <= 100 : 4 print(count) 5 count += 2
1 #輸出 1-100 內的所有偶數 2 count = 2 3 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 += 1 10 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 break 12 else : 13 print("第",count,"輸入錯誤請重新輸入!") 14 count += 1
小知識點:
print()自帶一個換行符。
如果想取消默認換行符加end(""),詳情可以參考九九乘法表的代碼。
python基礎(4):條件語句與循環語句