python 零基礎必知--條件控制與迴圈語句
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理
本文章來自騰訊雲 作者:somenzz
想要學習Python?有問題得不到第一時間解決?來看看這裡,滿足你的需求,資料都已經上傳至檔案中,可以自行下載!還有海量最新2020python學習資料。
點選檢視
如果沒有 if 語句和迴圈語句,請問你怎麼程式設計?
Python 中的條件控制和迴圈語句都非常簡單,也非常容易理解,與其他程式語言類似。
條件控制
Python 的條件控制是通過一條或多條語句的執行結果(True 或者 False)來決定執行的程式碼塊。條件控制的流程圖如下圖所示:
條件控制流程圖
if 語句的一般形式如下:
if 條件1:
語句1
elif 條件2:
語句2
else:
語句3
解釋:如果條件 1 為真,則執行語句 1,如果條件 1 不為真,條件 2 為真,執行語句 2,如果條件 1、條件 2 都不為真,執行語句 3。其中 elif 和 else 語句不是必須的。
1 def score(num):#定義一個函式,判斷得分屬於哪個分類
2 if num>=90:
3 print(num,'excellent')
4 elif num>=80:
5 print( num,'fine')
6 elif num>=60:
7 print(num,'pass')
8 else:
9 print(num,'bad')
10 score(99) #呼叫函式,下週
11 score(80)
12 score(70)
13 score(60)
14 score(59)
上述程式碼的輸出結果為:
99 excellent
80 fine
70 pass
60 pass
59 bad
問號表示式
if 語句可以實現 C 語言中的問號表示式的功能,寫起來進學簡潔,語法如下所示:
value1 if 條件1 else value2
解釋:如果條件 1 為真,那麼表示式的值為 value1,否則為 value2。
如下所示:
>>> a,b = 3,4
>>> c = a if a < b else b # 如果a<b則c=a,否則c=b
>>> print(c)
3
>>> a,b = 5,4
>>> c = a if a < b else b
>>> print(c)
4
迴圈語句
Python 有兩種方式來實現迴圈,while 語句和 for 語句。
while 語句
while語句的結構如下 :
while 條件判斷:
執行語句1
else:
執行語句2
當條件判斷為真為真時,執行語句1,條件判斷為假時執行語句2,其實只要不是死迴圈,語句2一定會被執行,因此while語句的結構也可以如下:
while 條件判斷:
執行語句1
執行語句2
while語句的流程圖如下圖所示:
while 語句
下面請看一個例子:
#encoding=utf-8
#filename = lx_while.py
flag=True
while flag:
input_str=input("please input something,'q' for quit.-> ")
print("your input is %s" % input_str)
if input_str=='q':
flag=False
print("You're out of circulation.")
在命令視窗執行 python lx_while.py ,並嘗試輸入一些字元,結果如下所示。
please input something,'q' for quit.-> hello
your input is hello
please input something,'q' for quit.-> python
your input is python
please input something,'q' for quit.-> q
your input is q
You're out of circulation.
for 語句
Python 的 for 迴圈可以遍歷任何可迭代物件,如一個列表或者一個字串。
for迴圈的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
例如計算1到1000的所有整數的和:
>>> sum=0 #定義求和的結果sum,初始為0
>>> for i in range(1000): #rang(1000)產生一個1到1000的整數列表
... sum+=i #相當於sum=sum+i進行累加
...
>>> print(sum) #列印結果
499500
關於迴圈的中的 break 語句和 continue 語句:從英文字面意思來理解即可,break 就是中斷,跳出當前的迴圈,不再繼續執行迴圈內的所有語句;continue 的意思是繼續,程式執行至 continue 處時,不在執行continue 後的語句,立即進行下一次迴圈判斷。請看一個例子便知道兩者的區別:
將下面的程式碼儲存至 lx_break_continue.py
# -*- coding: utf-8 -*-
# !/usr/local/bin/python
# Time: 2018/5/23 20:57:36
# Description:
# File Name: lx_break_continue.py
print("break--------------")
count = 0
while count < 5:
print("aaa", count)
count += 1
if count == 2:
break
print("bbb", count)
print("continue--------------")
count = 0
while count < 5:
print("aaa", count)
count += 1
if count == 2:
continue
print("bbb", count)
在命令列中執行 python lx_break_continue.py 將得到如下結果
break--------------
aaa 0
bbb 1
aaa 1
continue--------------
aaa 0
bbb 1
aaa 1
aaa 2
bbb 3
aaa 3
bbb 4
aaa 4
bbb 5
我們看到 break 直接跳出了迴圈,而 continue 只是跳過了其中的一步(輸出“bbb 2”的那一步)。
小陷阱
猜下下面的程式碼的輸出結果
for i in [0,1,2,3]:
print(i)
i = 100
有人會說只打印一次 i 的值,其實輸出的結果是這樣的:
0
1
2
3
這是為什麼呢? python 中的 for 語句在迴圈之後會有個隱藏的賦值操作,即 在 i = 100 之後再下次迴圈之前有個 i = 1 的操作,因此這裡的 for 仍會正常執行,這也是使用 in 關鍵字的原因。
如果沒有 if 語句和迴圈語句,恐怕程式設計會很困難。