Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TQC+ 程式語言 Python 04:進階控制流程

此教學內容為財團法人中華民國電腦技能基金會策劃,由逢甲大學 林英志 副教授 編著

  • Login to see the comments

  • Be the first to like this

TQC+ 程式語言 Python 04:進階控制流程

  1. 1. 04:進階控制流程 2018.1.30 財團法人中華民國電腦技能基金會 策劃 逢甲大學 林英志 老師 編著 此項 2判斷式 + 3迴圈
  2. 2. 主題 • 判斷式 • if … • range 函式 • for 迴圈 • 巢狀 for 迴圈 • break, continue 命令 • for … else … 迴圈 • while 迴圈 2
  3. 3. 程式執行流程 3 一行一 行執行 中間一部 分不執行 中間部分 重複執行
  4. 4. 流程控制 • Python 的流程控制命令分為兩大類: • 判斷式:根據關係或邏輯運算的條件式來判斷程式執行的流程, 若條件式結果為 True,就執行跳躍。 • if … elif … else … • 迴圈:根據關係或邏輯運算條件式的結果為 True 或 False 來 判斷,以決定是否重複執行指定的程式。 • for • while 4
  5. 5. 單向判斷式(if …) • 單向判斷式是 if 指令中最簡單的型態,語法為: • if (條件式): • if 條件式: 5
  6. 6. 範例 6
  7. 7. 雙向判斷式(if … else …) 7 條件成立 時就執行 那不成 立呢?
  8. 8. 雙向判斷式(if … else …) 8
  9. 9. 雙向判斷式(if … else …) 9 注意冒號 注意縮排
  10. 10. 範例 • 輸入:考試成績(滿分100) • 輸出:若成績在 • 90 分以上顯示「優等」, • 80 - 89 分顯示「甲等」, • 70 - 79 分顯示「乙等」, • 60 - 69 分顯示「丙等」, • 60 分以下顯示「丁等」。 10 這程式 有小錯
  11. 11. 巢狀(nested) • 在判斷式 (if … elif … else …) 內可以有判斷式,稱為巢 狀判斷式 • Python 並未限制巢狀判斷式的層數 • 層數太多會降低可讀性,而且維護困難 11
  12. 12. 主題 • 判斷式 • if … • range 函式 • for 迴圈 • 巢狀 for 迴圈 • break, continue 命令 • for … else … 迴圈 • while 迴圈 12
  13. 13. range() • 迴圈中常使用整數數列 (e.g., 1, 2, 3, …),因此 Python 有個內建(build-in)函式 range() 用來建立整數數列。 • range 函式的語法有三種,分別是 1、2、3 個參數。 • 1 個參數的語法為: • range(整數值) • range(5)  0, 1, 2, 3, 4 13
  14. 14. range() • range 函式包含 2 個參數的語法為: • range(起始值, 終止值) • range(3, 7) • range(-6, -2) • range(-2, -6) 14
  15. 15. range() • range 函式包含 3 個參數的語法為: • range(起始值, 終止值, 間隔值) • range(3, 8, 1) = range(3, 8) • range(3, 8, 2) • range(8, 3, -1) 15
  16. 16. 主題 • 判斷式 • if … • range 函式 • for 迴圈 • 巢狀 for 迴圈 • break, continue 命令 • for … else … 迴圈 • while 迴圈 16
  17. 17. 重複執行 17 迴圈 for while
  18. 18. for • for 通常用於執行固定次數的迴圈,其基本語法結構為: • for 變數 in 串列: • 程式區塊 • for 變數 in range(n): • 程式區塊 18
  19. 19. 範例 19
  20. 20. 巢狀迴圈 • 迴圈內含迴圈,是為巢狀迴圈(nested loop) 20
  21. 21. break 命令 • 迴圈執行時如果要中途結束,可使用 break 命令強制離 開,例如: 21
  22. 22. continue 命令 • continue 命令則是在迴圈執行中途停住不往下執行,而 跳到迴圈起始處繼續執行,例如: 22
  23. 23. for … else … • for … else … 是 Python 的設計,語法如下: • for 變數 in 串列: • 程式區塊一 • if (條件式): • 程式區塊二 • break • else: • 程式區塊三 23
  24. 24. 練習 • 利用 for … else … 迴圈來判斷質數 • 輸入:一個大於 1 的整數 n • 輸出: • 如果 n 是質數  “n 是質數” • 如果 n 不是質數  “n 不是質數” 24
  25. 25. 主題 • 判斷式 • if … • range 函式 • for 迴圈 • 巢狀 for 迴圈 • break, continue 命令 • for … else … 迴圈 • while 迴圈 25
  26. 26. while • while 通常用於沒有固定迴圈次數的情況,基本語法結構 為: • while (條件式): • 程式區塊 26
  27. 27. for vs while 27
  28. 28. Warning !! • 確定迴圈的條件式最後會是 False,避免無窮迴圈(infinite loop) • 避免在迴圈控制的等式檢查中使用浮點數 • item, total_sum = 1, 0 • while item != 0 • total_sum += item • item -= 0.1 • print(total_sum) 28
  29. 29. PY3-0002 三、迴圈倍數總和 29
  30. 30. 本章結束

×