iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
1
Modern Web

菜鳥後端工程師的第一門課系列 第 5

[Day5] 程式基本邏輯(3) - 迴圈

2022 Medium 新版傳送門

程式基本邏輯(3) - 迴圈

昨天我們了解了控制的概念,讓我們能讓程式的機制更加複雜,
今天我們要學會『迴圈』的概念。
『迴圈』是非常重要的機制,
迴圈是讓電腦能根據設定好的邏輯,執行非常多次相同的工作,
例如,工程師根據固定公式,幫大考中心撰寫計算每個學生的學測級分,
或是幫千人級大企業計算每個員工的考績(然後發現自己最低...汗
因此學會迴圈的使用是非常重要的一件事!

ps: 為了讓讀者更清楚從程式碼了解迴圈的機制,因此此篇選用 python 撰寫示範程式碼

while 迴圈

首先要介紹的是『while』迴圈,
while 迴圈跟 if else 有點相似,他的機制是,設定好一個條件,
如果該條件是『對的』,就不停地執行 while 迴圈內的程式碼,
因此會有機率寫出所謂的無窮迴圈,也就是不停的執行執行執行,造成電腦當機的程式...
但不需要害怕,我們來看看下面的程式碼:

weight = 60
while weight<100:
	weight = weight +1
print(“我超重了....”)

我們判斷說,如果 weight 小於 100,就一直吃一直加 1 公斤,
直到 weight 已經不小於 100 了,才停止迴圈,並印出『我超重了』。
因此在應用上,我們很常去設定根據某個狀態停止迴圈,
例如很多遊戲其實是一個超大迴圈,會去判斷直到玩家的狀態是死亡,
就會停止遊戲迴圈,回到開始畫面。

for 迴圈

再來要介紹的是 『for』 迴圈,
for 迴圈跟 while 迴圈最大的差異是,
for 迴圈常被用在,有『可預期的執行次數』的狀況上,
例如一開始的例子,我們有明確的員工或學生數量,
那就會選用 for 迴圈來執行特定次數的同樣工作。
但請讀者不要誤會說,同樣的問題只能使用 for 迴圈或 while 迴圈其中一種,
同樣的問題都可以用兩種迴圈解決,只是有適合和不適合的差別而已。
廢話不多說,我們來看看下面的程式碼:

for counter in range(5):
    print(counter)

這段程式碼是最簡單的 for 迴圈,
迴圈會建立 counter 這個變數,並儲存正在執行的是第幾次迴圈,
而他會執行 5 次,印出 counter 這個變數的程式碼,
但有趣的來了,執行的結果會是 0, 1, 2, 3, 4。
咦咦咦,為什麼第一個是 0 不是 1 ? 安安有事嗎?電腦壞了怎麼辦?
施主請收起心中的 os 與迷惘,讓老衲來告訴你,
因為在程式語言的世界中,系統產生的數字第一個都是『 0 』,
也就是説,0 是程式的第 1 個數字,這是非常重要的概念喔,要請各位務必記住。
那剛剛提到的,根據某個員工的數量跑次數的迴圈呢?
請參考:

worker_num = 50
for counter in range(worker_num)
	print(counter)

這樣就會執行 50 次囉~~是不是好棒棒呢!?

簡單講完了最常使用的兩個迴圈,明天我們就會進入 web 的知識,
討論每天看到卻又裝沒看到的 HTTP 網路概念!!

如果有任何問題,或是指證文中的錯誤,歡迎寄信給我或留言在下面喔~


上一篇
[Day4] 程式基本邏輯(2) - 控制
下一篇
[Day6] HTTP 與常見頁面狀態
系列文
菜鳥後端工程師的第一門課30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言