顯示具有 while迴圈 標籤的文章。 顯示所有文章
顯示具有 while迴圈 標籤的文章。 顯示所有文章

JavaScript教學10.while.do while迴圈


JavaScript教學10.while.do while迴圈

 對Javascript有興趣嗎?免費入門教學在這裡!本篇是10. while.do while迴圈

while 迴圈

只要條件成立,前端工程師在使用語言程式JavaScript 的「while 迴圈」就會重複執行一段程式碼。
while 迴圈的JavaScript 語法如下
See the Pen JavaScript10-while-loop-1 by Tedutw (@Tedutw) on CodePen.


以下為 while 迴圈的範例:變數 i 的初始值等於 0、條件為「當 i 的值小於或等於 7 」時,就執行「顯示變數 i 的值,並且把 i 的值再加 1」。然後重複執行迴圈。
See the Pen JavaScript10-while-loop-2 by Tedutw (@Tedutw) on CodePen.

只要 i 小於或等於 7,迴圈將繼續執行程式。每次迴圈運行時,數值都會增加 1,於是輸出了 1 到 7 的值。
當條件一直成立時,迴圈則會繼續執行程式,直到條件不成立為止。在下條件時要小心,若條件一直成立的話,迴圈就會一直執行下去,沒有停止。

do...while 迴圈

do...while 迴圈是 while 迴圈的變體。在檢查條件是否成立之前,此迴圈會先執行一次程式碼,然後只要條件為真,迴圈將會重複循環。
do...while 迴圈的 JavaScript 語法如下
See the Pen JavaScript10-do-while-loop-3 by Tedutw (@Tedutw) on CodePen.

註:分號必須寫於 do...while 迴圈的最末端
do...while 迴圈的範例如下:變數 i 的初始值等於 0、執行「顯示變數 i 的值,並且把 i 的值再加 1」、條件為「當 i 的值小於或等於 7 」。
See the Pen JavaScript10-do-while-loop-5 by Tedutw (@Tedutw) on CodePen.


參考連結:

JavaScript教學8.條件判斷式

JavaScript教學9.for迴圈

JavaScript教學11.break與continue

有了它人人都可精準選角拍電影?交給人工智慧準沒錯?

還不懂Python的你趕緊看過來,為你獻上基礎介紹(一)

還不懂Python的你趕緊看過來,為你獻上基礎介紹(二)

2天考取Google Ads證照!新手廣告投放攻略

擺脫設備工程師血汗職涯, 零基礎的我成功轉職 Python 資料工程師

44歲媽咪順利轉職網頁設計師, 家庭事業都得意

零基礎如何花 14 小時考取 GoogleAds 認證?五種 GoogleAds 廣告不藏私攻略



從無到有 挑戰14小時取得Google證照

Python中級學堂:控制結構篇11.實作簡單的計算機


Python中級學堂:控制結構篇11.實作簡單的計算機

Python基礎都學會了嗎?恭喜你朝專業工程師又進一步了!本篇是進階教學:控制結構篇11.實作簡單的計算機


本文是 Python 項目實做:一個簡單的計算器。本實作應用了 Python教學 的基本函數與概念:while 迴圈if 條件判斷式elif 寫法type conversion類型轉換
每個部分說明了 Python 程式的不同部分,希望能幫助各位同學更加容易了解Python。
第一部分是計算機的起始畫面,讓用戶一直不斷輸入,直到用戶輸入「exit」為止,因此使用了while 迴圈
while True:
   print("選項:")
   print("輸入 '+' 讓兩個數值互加")
   print("輸入 '-' 讓兩個數值互減")
   print("輸入 '*' 讓兩個數值互乘")
   print("輸入 '/' 讓兩個數值互除")
   print("輸入 'exit' 來結束程式")
   user_input = input(": ")

   if user_input == "exit":
      break
   elif user_input == "+":
      ...
   elif user_input == "-":
      ...
   elif user_input == "*":
      ...
   elif user_input == "/":
      ...
   else:
      print("不知道你在輸入什麼")  
上述程式還沒寫完,只完成了起始畫面與結構。接下來我們針對每個小部分來寫 Python 程式碼:
加法的部分:
elif user_input == "+":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
現在,當用戶輸入「+」後,程式就會提示輸入兩個數字。以上我們使用 float()函數,來將用戶輸入的數字強制轉變成浮點數。但是若用戶輸入的不是數字,程式就會 GG。
接下來,我們寫的程式碼,是用來執行用戶輸入的兩個數字,完成加總並且將結果輸出。Python 程式碼如以下所示
elif user_input == "+":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 + num2)
    print("答案是 " + result)
以此類推,減法的部分為:
elif user_input == "-":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 - num2)
    print("答案是 " + result)
以此類推,乘法的部分為:
elif user_input == "*":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 * num2)
    print("答案是 " + result)
以此類推,除法的部分為:
elif user_input == "/":
    num1 = float(input("請輸入數字:"))
    num2 = float(input("請輸入另一個數字:"))
    result = str(num1 / num2)
    print("答案是 " + result)
程式寫好,執行成果如下:



參考連結:

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

Python進階教學:控制結構篇9.數列生成

Python中級學堂:控制結構篇10.for迴圈

連麻將也難不倒人工智慧(一)

連麻將也難不倒人工智慧(二)

連麻將也難不倒人工智慧(三)

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

Python中級學堂:控制結構篇10.for迴圈


Python中級學堂:控制結構篇10.for迴圈

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


看這一篇之前,建議先看這一篇「Python控制結構5.while 迴圈」複習 while 迴圈。
Python 中,若我們要多次重複執行一個指令,我們可以使用迴圈(loops)。迴圈中的程式碼會用以下的方式執行指令:1、按照所指定的次數,重複執行;2、重複執行,直到特定的條件成立時結束;3、針對某一集合(例如:Python list串列之中的物件)中的所有項目,都各執行一次。

for 迴圈 vs. while 迴圈

先前在Python教學中我們曾經介紹過的 while 迴圈用法與 if 條件判斷式相似,只要給予的條件成立(即為「True(真)」),它就會執行。不同的是執行次數,if 只執行一次;while 迴圈則輪迴執行無限多次 (除非有設定讓迴圈結束的條件且條件成立)。
while 迴圈只要「沒有」另外設定「迴圈結束的條件(如:if 、break)」,迴圈就會無限的循環。這次我們要介紹的 for 迴圈則是在一行內就 自帶計數功能的迴圈,可以將重複循環控制在固定的數量內。
以下為一個 while 迴圈的範例,起始值為「count=0」、調整值為「count = count + 1」、讓迴圈結束的條件為「<= 5」,如下所示:
count=0 
while count <= 5: 
    print(count)
    count = count + 1   
上述範例結果為:
0
1
2
3
4
5
上個範例,若我們把第二行的「count <= 5」抽掉,換成一個「合乎常理」的條件(例如 count = 0),這個 loop 就會「0,1,2,3,4,5,6,7⋯⋯」永無止盡的重複「+1」的動作。同個範例,若使用 for 迴圈,則在第一行就可以搭配 range數列,定義「終止值」。如下例:
for count in range(0,6,1):
  print(count)
上述例子結果為:
0
1
2
3
4
5
有沒有發現,原本使用 while loop 需要 4 行的 coding,使用 for loop 只要兩行?
因為 while 迴圈把三大控制條件:初始值、讓迴圈結束的條件、更新值(又稱為調整值)分散在各行來敘述,for 迴圈則使用 range數列 將這三大控制條件放在同一行中展現。上述 range 的寫法為「range(起始值為0,迴圈在6之前就結束,調整值為+1),一行立刻應用range數列來訂定起始值、結束條件與調整方法,是不是很精簡方便的?Python 的 range 函數的詳細用法請見這一篇。
下面還有另外一個例子,為 for 迴圈應用 Python List串列函數的,將串列表中的所有物件都執行一次的範例:
the_BIG4=["Megadeth","Metallica","Anthrax","Slayer"]
for bandname in the_BIG4:
    print(bandname+" is a thrash metal band.")
上述例子結果為:
Megadeth is a thrash metal band.
Metallica is a thrash metal band.
Anthrax is a thrash metal band.
Slayer is a thrash metal band.
這種針對某一集合中的所有項目(例如:List串列之中的所有物件),都各執行一次例子,若用 while 迴圈來表示則需要:1、套用到 counter 「計數器」變數(計數器的數值是跟著索引跑的,所以設定起始值為「counter = 0」。串列的索引編號均是從零開始,詳細請看這篇)。;2、調整值為多加一次,故把計數器變數設為「counter = counter + 1」;3、讓迴圈結束的條件為當計數器把串列的東西全都執行結束時,因此把計數器的值設定為「最大的索引數」, 變成:
the_BIG4=["Megadeth","Metallica","Anthrax","Slayer"]
counter = 0
max_index = len(the_BIG4)-1

while counter <= max_index:
   bandname = the_BIG4[counter]
   print(bandname + " is a thrash metal band.")
   counter = counter + 1 
比起來,for 迴圈自帶計數的特性,真的簡化了 Python 程式碼的寫法。所以遇到有次數限制的迴圈時,不妨使用 for 迴圈吧!


參考連結:

Python進階教學:控制結構篇8.函數

Python進階教學:控制結構篇9.數列生成

Python中級學堂:控制結構篇11.實作簡單的計算機

AI將衝擊你我的未來?Python竟成人人要會的技能?(上)

AI將衝擊你我的未來?Python竟成人人要會的技能?(中)

AI將衝擊你我的未來?Python竟成人人要會的技能?(下)

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

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該怎麼念?工程師常用十大英文單字,你念對了嗎?

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

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

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