Python學習4-流程控制

條件判斷和循環是流程控制的主要組成部分,也是我們日常編碼過程的比較常用到的功能。

1.條件判斷

Python程序中,用if語句做條件判斷,if後面跟 空格+條件判斷語句+冒號,換行後縮進寫入條件判斷爲True時執行邏輯內容,可以使用elif做多重條件判斷,也可以用else做條件判斷都爲False時的補充處理。

示例1:
條件判斷一般存在多行,使用文件執行的方式更加方便也容易理解。
在E:\目錄下新建test.py python文件,用文本編輯器打開後,編輯文件,輸入第一個條件判斷語句。語法如下:
if 條件判斷:
條件判斷爲True時執行內容
elif 條件判斷:
條件判斷爲True時執行內容
….
else:
上面條件判斷都爲False時執行內容

num = 1
if num>0:
  print("is positive number")
elif num<0:
  print("is negative number")
else:
  print("is zero")

打開cmd命令行,進入E:/目錄後執行python test.py,控制檯輸出is positive number。
說明通過第一個條件判斷num>0後返回True,並執行了print(“is positive number”)語句。

示例2:
我們把上一個示例中的test.py文件中num = 1,修改爲num = -1,保存後執行,輸出is negative number。這個程序執行時,先判斷num>0,返回了False,沒有執行接下來的print語句;然後繼續判斷了num<0,返回True,執行了print(“is negative number”)。
同樣,我們把num = -1,修改爲num = 0,保存後執行,輸出is zero。執行時,先判斷num>0,返回了False,沒有執行接下來的print語句;然後判斷num<0,返回了False,也沒有執行接下來的print語句;最後輸出了else後的print語句。說明else中的代碼塊只有在前面的條件判斷都爲False時才執行

示例3:
把test.py文件修改爲:

num = 1
if num>0:
  print("is positive number")
elif num>0:
  print("is too positive number")
else:
  print("is zero")

理論上應該輸出“is positive number ”和“is too positive number”。執行python test.py後輸出“is positive number”。在if…elif條件判斷語句中,如果前面的判斷爲True,後面的條件判斷都不會執行了。所以就算條件判斷其實都爲True,其實執行的的也只有第一個判斷爲True的代碼塊。

示例4:
也可以使用if判斷變量是否爲空,如果不爲空(非0,非字符串,非空)返回True,否則返回False。

if a:
    print('True')

2.循環

python循環包括for循環和while循環。

  • for循環
    for…in循環,依次把list或tuple中的每個元素迭代出來。
    基本語法
val = 'abcde'
for tmp in val:
  print(tmp)
list = ['ba','cd','xx',1]
for tmp in list:
  print(tmp)

輸出“a\n b\n c\n d\n e\n ba\n cd\n xx\n 1\n”。

break和continue
break用於中止循環,執行完後不會執行後續循環了,會跳出循環語句後執行循環外後面的其他語句。
continue用於跳出當前循環,還是會繼續執行下面的循環語句的。

  for num in range(20):
  if num>3 and num<6:
    continue
  elif num>9:
    break
  print(num) 

輸出:“0\n 1\n 2\n 3\n 6\n 7\n 8\n 9\n”。當num>3並且num<6時,執行了continue,跳出了當前循環,並沒有執行打印語句;當num>9時,執行了break,中止了循環,後面的元素全沒打印了。

for…else
else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行。
下面語句第一個會執行print(“for is not break”),而第二個不會執行

for num in range(2):
  print(num)
else:
  print("for is not break")
for num in range(2):
  if num==1:
    break;
  print(num)
else:
  print("for is not break")
  • while循環
    while循環在某條件下,循環執行某段程序,以處理需要重複處理的相同任務,直至條件不成立。語法如下:
    while 條件判斷:
    執行語句
num = 0;
while num<4:
  print(num)
  num = num +1

continue、break、else的用法參考for。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章