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

2019年12月11日 星期三

Javascript入門必學10 while和do while迴圈

Javascript入門必學的三種迴圈!還有啊!?

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跳出迴圈與重新執行

前端工程師專欄:CSS的多重class中空格與逗號差在哪?

想當前端工程師的你千萬不能錯過詳細的養成計畫表!!

前端工程師入門需要先知道什麼?零基礎入門先知!!

信不信由你,因為Java課程讓我獲得我想要的生活!

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

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

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

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

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

2019年10月21日 星期一

Python控制結構教學(十一) 簡單計算機實作

Python實作時間到!看看之前教學系列你學會了幾招!


Python實作時間到!看看之前教學系列你學會了幾招!



Python教學 今天是要大家練練手, 來進行 Python 項目實作,運用這系列教的來做一個簡單的計算器。本實作應用了 Python 的基本函數與概念:while 迴圈if 條件判斷式elif 寫法type conversion類型轉換
每個部分說明了 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)

程式寫好,執行成果如下:

 



相關文章 

2019年10月18日 星期五

Python控制結構教學(十) for迴圈

知道Python的for迴圈和while迴圈不一樣嗎?快來學學!


知道Python的for迴圈和while迴圈不一樣嗎?快來學學!



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

for 迴圈 vs. while 迴圈

先前我們曾經介紹過的 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 迴圈吧!



相關文章 

2019年10月17日 星期四

Python控制結構教學(九) 數列生成

Python小教室來囉!一起學學數列生成怎麼做吧!


Python小教室來囉!一起學學數列生成怎麼做吧!


Python教學今天要給大家說說 Python 的「range」函數。這函數可以用來生成數字序列,若無指定,數字序列由「0」開始。下例指定數字序列生成到 20 個,如下例所示:
numbers = list(range(20))
print(numbers)
上述範例結果為:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Python 的「range」函數可以用來生成由零開始的數字序列,但是我們仍然可以指定起始值如下:
numbers = list(range(7, 14))
print(numbers)

print(range(20) == range(0, 20))
上述例子結果為:
[7, 8, 9, 10, 11, 12, 13]

True

Python 中我們除了可以輸入兩個參數,指定序列的起始值外,還可以指定第三個參數(必須為整數)以定義每個數字中間間隔為多少。如下:
numbers = list(range(7, 14, 2))
print(numbers)
上述例子結果:
[7, 9, 11, 13]


相關文章 

2019年10月9日 星期三

Python控制結構教學(五) while迴圈

Python教學時間到! while 迴圈是什麼呢?想學就看過來吧!


Python教學時間到! while 迴圈是什麼呢?想學就看過來吧!

Python-while 迴圈

今天的 Python教學 時間,要帶大家了解Python 的 if 條件判斷式【請參考:Python控制結構2.if else條件判斷(1)】與while 迴圈的差異。若評估為 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



相關文章