[Python][ITS]#2 程式控制流程: 決策及迴圈

閱讀時間約 7 分鐘

決策:

決策主要講的就是if...else這種流程控制的程式,假如某條件成立就執行某些動作,否則就執行別的動作,大致上就是這個概念。

需要特別注意的地方 縮排

1. 在條件成立後所要執行的動作每一行的縮排要一致(就是要排整齊的意思),不然會被當作是其它動作而沒被跟著一起執行或程式結構混亂而造成編譯上的錯誤。

例子:

num = int(input("please enter your number ? "))
guest_position = ""

if num > 10 :
print("please go to the left side")
guest_position = "Left"
else :
print("please go to the right side")
guest_position = "Right"
print("Now you are in ", guest_position, " side") # 這一行沒有跟上面對齊縮排,所以不算是else條件成立後要執行的動作
  1. 巢狀決策還是要注意縮排,如此才能知道某個動作是在什麼條件下成立會執行的。

例子:

id_num = int(input("please enter your ID ?"))
floor = ""
if id_num > 500:
print("please go to the 2nd floor")
floor = "2nd"
else :
if id_num > 100:
print("please go to the 3rd floor")
floor = "3rd"
else :
print("please go to the 4th floor")
floor = "4th"
print("Now you are in the ",floor," floor")
  1. 多重決策的使用,一樣要注意縮排。

例子:

id_num = int(input("please enter your ID ?"))
floor = ""
if id_num > 500:
print("please go to the 2nd floor")
floor = "2nd"
elif id_num > 100 :
print("please go to the 3rd floor")
floor = "3rd"
else :
print("please go to the 4th floor")
floor = "4th"
print("Now you are in the ",floor," floor")
  1. if, else, elif 等這幾個關鍵字該行最後一定要加上 ":" ,這是很容易忽略的點。

迴圈:

使用上主要可以分成for loop和 while loop這兩者,而兩者都可以搭配break和continue這兩個關鍵字來調整迴圈的執行的流程,可以讓迴圈的設計更有彈性。

跟for loop常常一起使用的就是range( )這個函式,(參考官網說明: link)。一般使用上很容易搞不清楚總共是多少個值?最大到多少? 所以,請記得"結束值永遠不會出現在生成的序列中"這句話,就可以了。(例: range(10) 指的就是 0,1,2,3,4,5,6,7,8,9 這幾個數字,因為沒有指定開始值,所以,預設是從0開始,沒有指定step值,預設就是1)

需特別注意for ... else以及 while ... else的用法,以及在搭配break和continue時,要不要執行else的動作。

當for loop與while loop有正常執行完,才會再執行else後面的動作。

注意: 這邊的正常執行完成不包括break,因為break就代表要跳出整for ... else 或while ... else的範圍。所以,就不會再執行else的動作了。

例子:

num = int(input("please enter a number for the whole loop ? "))
b_num = int(input("please enter a number you want to break ?"))
c_num = int(input("please enter a number you want to skip ?"))

for i in range(num):
if i == c_num:
continue
elif i == b_num:
break
else:
print("this is the ",i,"th floor")
else:
print("you are now in the ",i,"th floor")

執行結果 1:

please enter a number for the whole loop ? 10
please enter a number you want to break ?12
please enter a number you want to skip ?5
this is the 0 th floor
this is the 1 th floor
this is the 2 th floor
this is the 3 th floor
this is the 4 th floor
this is the 6 th floor
this is the 7 th floor
this is the 8 th floor
this is the 9 th floor
you are now in the 9 th floor


​執行結果 2:

please enter a number for the whole loop ? 10
please enter a number you want to break ?5
please enter a number you want to skip ?8
this is the 0 th floor
this is the 1 th floor
this is the 2 th floor
this is the 3 th floor
this is the 4 th floor
    avatar-img
    2會員
    7內容數
    學習程式設計的方法,就是要自己動手下去作了才會真正瞭解。
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    Joec's Maker 的其他內容
    ITS python認證內容含蓋六大主題
    有關Python的國際認證
    什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
    ITS python認證內容含蓋六大主題
    有關Python的國際認證
    什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    有時候在使用數學運算時,會出現一些看似反直覺的結果。 這些錯誤可能是由於我們對於數學規則的誤解或者忽略了一些細節所導致的。 以下是一些 Python 的例子: 除餘數 例如負數求餘數。 假設-15 % 90 狀況下 會下意思覺得結果還是 -15 但輸出的結果是 75。
    Thumbnail
    今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
    Thumbnail
    初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
    Thumbnail
    古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
    Thumbnail
    先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
    Thumbnail
    ETL是資料倉儲領域中一個重要的概念,全稱為Extract-Transform-Load,中文可譯為"抽取-轉換-載入"。ETL的作用是將來自不同來源的資料抽取出來,經過清理、轉換、整合等處理後,最終將處理好的資料載入到資料倉儲或其他單一的資料存放區
    在求學階段,你已經對代數的計算熟到不能再熟,所以變數(variable)對你來說應該不至於太陌生,先來看看以下這個例子:   
    Thumbnail
    在Python中,queue是一個非常有用的模块。 它提供了多種佇列(queue)實現,用於在多線程環境中安全地交換信息或者數據。 佇列(queue)是一種先進先出(FIFO)的數據結構,允許在佇列的一端插入元素,另一端取出元素。(FIFO 是First In, First Out 的縮寫)
    Thumbnail
    當你需要在 Python 中執行多個任務,但又不希望它們相互阻塞時,可以使用 threading 模組。 threading 模組允許你在單個程序中創建多個執行緒,這些執行緒可以同時運行,從而實現並行執行多個任務的效果。
    Thumbnail
    使用Python開發後端API的經驗中應該會常常看到WSGI與ASGI這兩個名詞, 兩者的差異究竟是什麼呢? 就讓我們來為您科普一番。 什麼是WSGI 全名為「Web Server Gateway Interface」 Web伺服器閘道介面,主要規範HTTP請求如何與伺服器溝通, 通
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    有時候在使用數學運算時,會出現一些看似反直覺的結果。 這些錯誤可能是由於我們對於數學規則的誤解或者忽略了一些細節所導致的。 以下是一些 Python 的例子: 除餘數 例如負數求餘數。 假設-15 % 90 狀況下 會下意思覺得結果還是 -15 但輸出的結果是 75。
    Thumbnail
    今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
    Thumbnail
    初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
    Thumbnail
    古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
    Thumbnail
    先來名詞解釋jython跟JES: jython是一種實現了Python語言的Java平台版本的解釋器。它允許開發人員在Java虛擬機(JVM)上運行Python代碼,從而實現了Python語言與Java平台的無縫集成。 JES(Jython Environment for Students)是
    Thumbnail
    ETL是資料倉儲領域中一個重要的概念,全稱為Extract-Transform-Load,中文可譯為"抽取-轉換-載入"。ETL的作用是將來自不同來源的資料抽取出來,經過清理、轉換、整合等處理後,最終將處理好的資料載入到資料倉儲或其他單一的資料存放區
    在求學階段,你已經對代數的計算熟到不能再熟,所以變數(variable)對你來說應該不至於太陌生,先來看看以下這個例子:   
    Thumbnail
    在Python中,queue是一個非常有用的模块。 它提供了多種佇列(queue)實現,用於在多線程環境中安全地交換信息或者數據。 佇列(queue)是一種先進先出(FIFO)的數據結構,允許在佇列的一端插入元素,另一端取出元素。(FIFO 是First In, First Out 的縮寫)
    Thumbnail
    當你需要在 Python 中執行多個任務,但又不希望它們相互阻塞時,可以使用 threading 模組。 threading 模組允許你在單個程序中創建多個執行緒,這些執行緒可以同時運行,從而實現並行執行多個任務的效果。
    Thumbnail
    使用Python開發後端API的經驗中應該會常常看到WSGI與ASGI這兩個名詞, 兩者的差異究竟是什麼呢? 就讓我們來為您科普一番。 什麼是WSGI 全名為「Web Server Gateway Interface」 Web伺服器閘道介面,主要規範HTTP請求如何與伺服器溝通, 通