Python中級學堂:控制結構篇5.while迴圈


Python中級學堂:控制結構篇5.while迴圈

Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇:5.while迴圈

Python-while 迴圈

Python教學中 的 if 條件判斷式【請參考:Python控制結構2.if else條件判斷(1)】,如果評估為 True【請參考:Python控制結構1.布林值Boolean-True or False?】 的話,就會執行一次;反之則不執行。
Python 的 while 迴圈跟 if 條件判斷式相似,但是不同之處是,它不只執行一次。只要條件成立,它就會不斷地重複執行。就算是有其中一段代碼被評估為 False,下一段代碼仍會被執行。
while 迴圈構成,包含了 。
以下範例的 while 迴圈中有一個變數「i」,初始值為「1」;更新值(又稱為調整值)為「i+1」;讓迴圈結束的條件為「i <=5」。
以下範例讓 i 的從初始值開始,程式每執行一次,i 就等於上一回合的數值再「+1」一次,直到 i 等於 5 為止停止,寫法如下:
 i = 1 #初始值
 while i <=5:       #讓迴圈結束的條件
    print(i)
    i = i + 1       #更新值 (調整) 
則結果為:
1
2
3
4
5
>>>

while迴圈的「infinite loop(無限循環)」

Python 的 while 迴圈中,有一種被稱作「infinite loop(無限循環)」,當條件(為True)成立時,程式就會永不停止地重複執行。
「infinite loop(無限循環)」的範例如下:
while 7==7:
  print("這是無限循環迴圈")
結果,「這是無限循環迴圈」這行字就會不斷的重複顯示。
若你真的受不了,你可以按鍵盤快速鍵「Ctrl-C」以阻止它繼續重複顯示。
以下也是無限循環迴圈的另一個例子,看看它的結果如何。
x=1
>>> while x>0:
         print(x)
         x+2
結果馬上會跳出一堆數字,且不斷的在跳出中。後出來的數字,都是前一個數字 +2 的結果。真的受不了,就按鍵盤快速鍵「Ctrl-C 」跳出吧!

跳出while迴圈:break

要結束 while 迴圈循環,就使用 break 敘述。在迴圈循環時,一遇到 break 敘述,就會讓迴圈立即停止循環。範例如下:
i = 1 #初始值
while 1==1:
  print(i)
  i = i + 1  #更新值 (調整) 
  if i >= 5: #讓迴圈結束的條件
    print("Breaking")
    break
>>>
上述的代碼,意思若「1 等於 1」的敘述為真,則 i 就從 1 開始輸出,之後程式跑到「i = i + 1」,i 就以 i+1 的形式繼續循環輸出,直到 i 為「5」時,就輸出「Breaking」並結束循環。因此這段 Python 程式的執行結果為:
1
2
3
4
Breaking

繼續while迴圈:continue

Python 的 while 迴圈中,有一個與 break 敘述相對的,就是 continue —— 跳回到迴圈的頂部繼續循環,而不是停止循環。
i = 1 #初始值
while True:
  print(i)   
  i = i + 1  #更新值 (調整) 
  if i == 5: 
    print("Skipping 5")
    continue
  if i == 7: #讓迴圈結束的條件
    print("Breaking")
    break
上述的 Python 代碼,意思若「1 等於 1」的敘述為真,則 i 就從 1 開始輸出,之後程式跑到「i = i + 1」,i 就以 i+1 的形式繼續循環輸出,直到 i 等於「5」時,就輸出「Skipping 5」並且跳回到迴圈的頂部「print(i)」繼續從「5」循環,直到 i 等於「7」時輸出「Breaking」並結束循環。因此這段 Python 程式的執行結果為:
1
2
3
4
Skipping 5
5
6
Breaking



參考連結:

Python中級學堂:控制結構篇3.布林邏輯

Python中級學堂:控制結構篇4.運算子優先順序一覽

Python進階教學:控制結構篇6.串列

點名即將消失的五大程式語言,兇手竟然是Python!?(上)

點名即將消失的五大程式語言,兇手竟然是Python!?(下)

Python該怎麼念?工程師常用十大英文單字,你念對了嗎?

暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

Python中級學堂:控制結構篇4.運算子優先順序一覽


Python中級學堂:控制結構篇4.運算子優先順序一覽

Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇:4.運算子優先順序


Python教學中的運算子優先順序(operator precedence)在包含 Python 以及其他的程式語言都是很重要的概念。它是數學運算順序(如先乘除後加減)概念的延伸,並包含其的他運算子,如布林邏輯中的運算子等。
下方例子顯示出 「==」比起其他的運算子,順序更為優先:
>>> False == False or True
True
>>> False == (False or True)
False
>>> (False == False) or True
True
下方表中列出了 Python 的運算子的優先順序,優先順序由高至低如下:
** 指數 (最高優先順序),範例:2**3 = 8
~,+,- 按位翻轉、正號和負號 (最後兩個的方法名稱為「+@」和「-@」)
*,/,%,// 乘、除、餘數 地板除法(只取整數的除法)
+,- 加法、減法
>>,<< 右移、左移運算子
& 位元運算子的「與」
^ | 位元運算子的「XOR」、「OR」
in, not in, is, is not, >, <, >=, <=, !=, == 各式比較運算子(關係運算子)
not 布林運算子「not
and 布林運算子「and
and 布林運算子「or
= %= /= //= -= = *= **= 各式賦值運算子
Python教學 的運算子的優先順序,可由以下例子練習。猜猜看以下 Python 原始碼的結果會如何?
x = 4
y = 2
if not 1 + 1 == y or x == 4 and 7 == 8:
  print("Yes")
elif x > y:
  print("No")
結果顯示如下:
>>>
No
>>>



參考連結:

人工智慧寫「不想消滅人類」登《衛報》……記者將被 AI 取代?

人工智慧、大數據、VR等2020最搶手職業榜出爐!值得你現在開始準備

人工智慧把關用藥安全!AI 藥櫃取藥、送藥、用藥更精準

人工智慧:貓是液體!NVIDIA 的 AI 創造人臉超逼真,但合成的貓都是液態

首位人工智慧法官即將上任,它真能公正判決嗎(上)

這個國家即將任用人工智慧法官,它真能公正判決嗎(下)

人工智慧臉部辨識技術恐有歧視人種的爭議(下)

Python中級學堂:控制結構篇3.布林邏輯


Python中級學堂:控制結構篇3.布林邏輯

Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇3.布林邏輯


Python教學 的 if 條件判斷式(複習if...else條件判斷式請看這篇 Python教學)變得更複雜, 並且出現超過一種狀況時,ˊ工程師們此時就使用 Boolean Logic 布林邏輯式。
Python 的 Boolean 運算子包含:and(和)、or(或)、not(不是)。
and 運算子包含兩個條件參數,當兩個條件都成立時,才會被評估為「True」。只要其中有一個不成立,則為「False」。【參考:Python控制結構1.布林值Boolean-True or False?
>>> bool( 1 == 1 and 2 == 2 )
True
>>> bool( 1 == 1 and 2 != 2 )
False
>>> bool( 1 < 1 and 2 >= 2 )
False
>>> bool( 1 < 1 and 2 != 2 )
False
下方 Python  程式例子為只要符合「年滿18歲」及「低消超過180元」才會輸出「welcome」的例子
age=21
money=500
if age >= 18 and money >= 180:
 print("welcome")
結果顯示如下:
>>>
welcome
>>>
Python 的 or 運算子包含兩個參數,只要其中有一個條件成立,就會被評估為「True」。兩個條件都不成立才會被判定為「False」
>>> bool( 1 == 1 or 2 == 2 )
True
>>> bool( 1 != 1 or 2 == 2 )
True
>>> bool( 1 != 1 or 2 != 2)
False
下方例子為只要符合「年滿65歲」或是「你付超過3000元」兩條件任一種,就會輸出「You'll get a Wacken Open Air 2020 ticket」的例子
age=77
money=0
if age >= 65 or money >= 3000:
 print("You'll get a Wacken Open Air 2020 ticket")
結果顯示如下:
>>>
You'll get a Megadeth concert ticket
>>>
not 運算子只有包含「一個」條件參數,條件成立(就是合乎邏輯)就會顯示為「False」。條件不成立才會被判定為「True」
>>> bool( not 1 == 1 )
False
>>> bool( not 1 != 1 )
True
下方例子為只要不符合「年滿18歲」就會顯示「未滿18歲不得進入」的例子
age=14
if not (age>=18):
 print("未滿18歲不得進入")
結果顯示如下:
>>>
未滿18歲不得進入
>>>



參考連結:

Python中級學堂:控制結構篇2.條件判斷(上)

Python中級學堂:控制結構篇2.條件判斷(下)

Python中級學堂:控制結構篇4.運算子優先順序一覽

點名即將消失的五大程式語言,兇手竟然是Python!?(上)

點名即將消失的五大程式語言,兇手竟然是Python!?(下)

Python該怎麼念?工程師常用十大英文單字,你念對了嗎?


暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

Python中級學堂:控制結構篇2.條件判斷(下)


Python中級學堂:控制結構篇2.條件判斷(下)


Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇2.條件判斷(下)


在上一篇文章:Python控制結構2.if else條件判斷(1)一文中,我們已經知道 if...else 的 if 的用法,本篇就來進一步講述 else 的功能。
Python教學 的 if...else 條件判斷式,除了單純的 if 設定一組條件之外,還可加上 else...if 或 else 增加條件。每一個 if,都可以設定不同的條件。例如:今天你要寫出一個Python程式,判斷你所輸入的樂團名稱「Megadeth」,是否在四大鞭擊金屬樂團之列。則程式如下例所示:
bandname = "Metallica"
if bandname == "Megadeth":
    print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團。")
else: 
    if bandname == "Metallica":
        print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯")
    else:
        if bandname == "Anthrax":
            print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica")
        else: 
            if bandname == "Slayer":
                print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟")
            else:
                print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中")
結果顯示如下:
>>>
Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯
>>>
以上Python的例子,你可以把樂團名稱換成 "Megadeth"、"Anthrax"、"Slayer" 或是其他的名稱試試看喔!
else if 可以縮寫成「elif」,承上方的例子,把所有的 else if 都改成「elif」則結果如下例所示(下例也把樂團名稱改成 "Megadeth"):
bandname = "Megadeth"
if bandname == "Megadeth":
    print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團")
elif bandname == "Metallica":
    print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯")
elif bandname == "Anthrax":
    print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica")
elif bandname == "Slayer":
    print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟")
else:
    print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中")
結果顯示如下:
>>>
無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團
>>>
承上例,我們把第一行的 「bandname = "Megadeth"」改成「bandname = "Anthrax"」結果顯示如下:
>>>
Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica
>>>
承上例,我們再把第一行的 「bandname = "Anthrax"」改成「bandname = "Slayer"」結果顯示如下:
>>>
Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟
>>>
承上例,我們再把第一行的 「bandname = "Slayer"」,將 Slayer 改成隨便一個你知道的樂團名稱,也許結果顯示如下:
>>>
你輸入的樂團名稱不在四大鞭擊金屬樂團之中
>>>



參考連結:

Python中級學堂:控制結構篇1.布林值

Python中級學堂:控制結構篇2.條件判斷(上)

Python中級學堂:控制結構篇3.布林邏輯

點名即將消失的五大程式語言,兇手竟然是Python!?(上)

點名即將消失的五大程式語言,兇手竟然是Python!?(下)

Python該怎麼念?工程師常用十大英文單字,你念對了嗎?


暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

Python中級學堂:控制結構篇2.條件判斷(上)




Python中級學堂:控制結構篇2.條件判斷(上)

Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇2.條件判斷(上)


Python 中,若有滿足特定的條件,則可以使用 if 指令。要是滿足了某個指定的條件(即是布林值為「True」,若不懂何謂布林值,請看這篇:Python控制結構1.布林值Boolean-True or False?),則這個程式的片段會被執行。反之,則不執行。
if 指令的語法如下
if <條件>:
   執行的狀況
範例:如果 x 小於 0 則輸出「x 是負數」,而不論 x 的值為何,最後都會輸出「此Python程式結束」。
x=-10
if x < 0:
    print("x 是負數")
print("此Python程式結束")
結果顯示如下:
>>>
x 是負數
此Python程式結束
>>>
呈上例,若 x=10 的話,則結果只會顯示「此Python程式結束」。
有時,if 條件式裡還會有另一組 if 條件式,就形成多層 if 條件式的架構。Python教學這種情況稱為「巢狀 if 條件式」。巢狀 if 條件式就好像設定多道關卡,資料必須經過每一道關卡的檢驗。當滿足了第一關的條件,才會到第二關。這個設定是用來檢視是否有滿足多種條件的方法。如下例,如果要判斷一個人是否可以觀看輔導級、甚至限制級的電影,就必須先知道他的年齡。於是我們把輔導級的年齡設定為 15 歲,限制級的年齡設定為 18 歲。若能觀看輔導級,不見得可以看限制級的電影;但若能看限制級的電影,則輔導級電影也可以看。今天來了一個 17 歲的人,正從以下電影考慮挑一部電影看。他們是:限制級的「藍波:最後一滴血」和輔 15 級的「無間行動」。他的年齡可以看哪一部電影呢?請參考以下程式碼:
age = 17
if age >= 15:
   print("已滿15歲,可以觀賞輔15級的電影")
   if age <18:
      print("未滿18歲不得觀賞限制級的電影")

結果顯示如下
已滿15歲,可以觀賞輔15級的電影
未滿18歲不得觀賞限制級的電影

因此,他必須放棄「藍波:最後一滴血」這部片子,而選擇「無間行動」。
if 條件判斷式,可以不只有一種條件。若要新增條件的話,就必須要加「else」。else 的用法將在Python控制結構2.if else條件判斷(2)中說明。




參考連結:

Python中級學堂:控制結構篇1.布林值

Python中級學堂:控制結構篇2.條件判斷(下)

Python中級學堂:控制結構篇3.布林邏輯

點名即將消失的五大程式語言,兇手竟然是Python!?(上)

點名即將消失的五大程式語言,兇手竟然是Python!?(下)

Python該怎麼念?工程師常用十大英文單字,你念對了嗎?


暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

Python中級學堂:控制結構篇1.布林值

Python中級學堂:控制結構篇1.布林值

Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇1.布林值

Python 程式語法百百種,而其中一種是布林代數 (Boolean algebra),在Python教學裡,Python 的布林型態顯示為 bool。布林值 (Boolean value) 僅有兩種: True 和 False。布林值可以藉由關係運算子 (Relational operator) 來建立,例如兩個等號 == 用來比較兩個值,如果相等就回覆 True,否則回覆 False:
>>> Megadeth = True
>>> bool(Megadeth)
True
>>> bool(2==3)
False
>>> bool(3==3)
True
>>> bool("Hangar 18"=="Hangar 18")
True
>>> bool("Return to Hangar"=="Return to Hangar")
True
與兩個等號「==」相反的關係運算子「!=」,也是用來比較兩個值,如果「不」相等就回覆 True,否則回覆 False:
>>> bool(2!=3)
True
>>> bool(2!=2)
False
>>> bool("Megadeth"!="Megadeth")
False
>>> bool("megadeth"!="Megadeth")
True
因為在 Python 中,大小寫是不能視為相等的。所以上方最後兩個例子雖然字母都一樣(都為 “Megadeth”),但是後一個例子的開頭字母的大小寫不同,所以被視為「不」相等。
比較兩個數值(不限整數或是浮點數)大小的運算子「>(大於)」、「<(小於)」、「>=(大於或等於)」、「<=(小於或等於)」例子如下:
>>> bool(2<3)
True
>>> bool(2>2)
False
>>> bool(2<3.0)
True
>>> bool(2.0>2)
False
>>> bool(2.0>=2)
True
>>> bool(2.0<=3.9)
True



參考連結:

Python中級學堂:控制結構篇2.條件判斷(上)

Python中級學堂:控制結構篇2.條件判斷(下)

Python中級學堂:控制結構篇3.布林邏輯

點名即將消失的五大程式語言,兇手竟然是Python!?(上)

點名即將消失的五大程式語言,兇手竟然是Python!?(下)

Python該怎麼念?工程師常用十大英文單字,你念對了嗎?

暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

網紅必學!網路行銷影片常用的10種字體特效教學

網紅必學!網路行銷影片常用的10種字體特效教學

對網路行銷有興趣嗎?讓本篇有趣的影片常用的10種文字特效帶你入門吧.



科技感的 Data Stream 字體特效

網路行銷-VFX科技感DataStream文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Multi-Line】>【Data Stream】
科技感的 Data Stream 文字特效,適合 3C 產品的網路行銷使用。

霓虹光 Rotate Hue 字體特效


網路行銷-VFX霓虹光文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Fill an Stroke】>【Rotate Hue】

Drop in by Character 逐字掉下來特效

網路行銷-VFX逐字掉下來特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Animate In】>【Drop in by character】

3D Rotate in by Character 3D旋入特效

網路行銷-VFX3D旋入文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【3D Text】>【3D rotate in by character】

3D Random Spike Tumble 字體隨機出現3D特效

網路行銷-VFX文字隨機出現3D特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【3D Text】>【3D random spike tumble】

消失的字體

網路行銷-VFX消失的文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Animate In】>【Fade up characters】

Wheatfield 搖曳小麥字體

網路行銷-VFX搖曳小麥文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Organic】>【Wheatfield】

緩慢淡入 Slow Fade on

網路行銷-VFX緩慢淡入文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Animate In】>【Slow fade on】

Blur by Word 模糊淡入

網路行銷-VFX模糊淡入文字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【blur】>【Blur by word】

Typewriter 經典打字效果

網路行銷-VFX打字特效教學
操作順序:【Effect & Presets】>【Animation Presets】>【Text】>【Animate In】>【Typewriter】

若本篇網路行銷教學還無法滿足你學習 After Effects 影片特效,想學習更深入的 VFX 影片後製課程,那你一定要找VFX 課程小幫手



參考連結:

網路行銷必備知識!2019超強Facebook演算法(1)

網路行銷必備知識!2019超強Facebook演算法(2)

網路行銷必備知識!2019超強Facebook演算法(3)

創新公司必用SEO的七個理由(一)-客戶行為資料輕鬆取得

創新公司必用SEO的七個理由(二)-要高流量就靠SEO

創新公司必用SEO的七個理由(三)-SEO好用又免費

暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~

全球首屆元宇宙時裝周,複刻20年前的失敗?

全球首屆元宇宙時裝周, 遇到瓶頸 複刻20年前的失敗? 目錄 元宇宙時裝周參與盛況 叫好不叫座?新興技術的行銷瓶頸 由虛擬實境平台 Decentraland 所舉辦的「元宇宙時裝週」(Metaverse Fashion Week...