[TIL#3] Python 自學 day3 流程控制

上次介紹python 變數的創造方式與用法,今天瓦特歐要來介紹,python的流程控制,甚麼是流程控制呢? 說穿了,就是創造程式邏輯!?

比如說當你遇到….就要做….事,那在python內,就會使用if else來表達這段邏輯,那或許你需要執行一件事情好幾次(迴圈),您就會使用到for敘述或while敘述,那讓我們開始介紹,怎麼實現流程控制吧?

溫馨提醒:python 是用縮排來當作程式結尾或分段,所以程式碼中的那些開頭空格是必需存在!

我們先假設一個情境,瓦特今天要出門前,要決定要不要帶傘,那決定要不要帶傘的歸咎於,今天是不是雨天?

解說:
我們創造一個,rainyday布林變數,並且設定True值,代表今天下雨!
if(條件),用小括號包括的條件,就是當條件達成則進入if下面接的程式,否則走進else內的程式。

那如果是有很多條件呢?比如說學校老師,評比成績每10分就一個區間,那完成的邏輯與語法就會像這樣:

解說:
使用input()函式,去接受使用者的輸入,創造一個score去接受,使用者的輸入,用來做後面評級的變數!例如90~100分,可以得到A+,80~90分,可以得到B+,70~80分,可以得到B,其他分數低於70分都給C。

PS:所謂函式(function),就是擁有特定功能的敘述句,可以自己定義函式,或者使用已經寫好的函式,input()函式,就是python已經寫好的函式?
PS2: 上述例子看到的,”and” 是一種邏輯運算子常在多重判斷式內用到,一共有三種:

上面就是將如果怎樣就怎樣邏輯實現的語法使用介紹,接下來介紹迴圈的概念:

所謂迴圈,就是指讓程式執行多次xxx行為,直到條件結束!?
python 中提供兩種敘述,第一個為for xxx in xxx,第二個為while(條件)!

這邊就用到TIL#2說的list來說明,比如說我們想依序印出list內的東西,之前就需要一個一個寫index去印出內容物。

解說:使用print函式搭配index去將所有東西印出。

使用for xxx in xxx 敘述式:

解說:使用for 敘述式將Walterou_List內容物,依序讀進x變數中並印出來,是不是比一個一個使用print(),將內容物印出來,方便且迅速。

python迴圈有提供兩個指令,用來中斷迴圈或者跳過此次迴圈,那就是break 和continue!
break:中斷迴圈的執行並跳脫迴圈結構,繼續執行迴圈外的程式。
continue:不會讓迴圈強制結束,只跳過迴圈內 continue 後面剩餘的程式,接著繼續執行下一次的迴圈內的敘述。

break 範例:
比如說我們想找到數列中是3的倍數,如果是3的倍數則存到另外一個陣列內,並且收集超過10個,3的倍數則跳出迴圈:
我們先創造一個數列,使用range()函數,range(1, 100, 2)會產生一個2的等差級數,產生一個從數字1遞增的數列最大到100。

解說: 先創造一個Numer_list,內容物為從1開始依序遞增2的等差級數

解說:創造從1開始等差2的級數,一共50個數字,使用%(取餘數),只要Number_list內,可以被3整除(取餘數為0),就放進three_times_list內,如果大於等於10個數字,就結束迴圈!

continue範例:
比如說我們想濾掉一些字,就能使用continue去幫助我們完成!

解說:本來應該會印出Hello walter,但使用如果x等於l則跳過這次print(x),就變成Heo water?

最後介紹while 迴圈的用法!,雖然也是迴圈的一種,但使用地方不太一樣!
for 迴圈 用在已知要執行的最大次數的情境,那如果不知道執行的最大次數呢?
這時候就要請出while迴圈!!!
那while 迴圈就用一個遊戲來講,用終極密碼來解釋,範圍是1-100,讓使用者一直猜到對為止,這種情境就不知使用者會猜幾次,因此不能使用for 迴圈,要使用while迴圈。

解說:
import random,引用亂數library,程式一開始的時候,創造一個TargetNumber,再來創造變數GuessNumber和使用input function去承接使用者猜的數字,如果TargetNumber大於GuessNumber,就提示使用者GuessNumber太小,並且請使用者在猜一次!反之,GuessNumber大於TargetNumber,就提示使用者GuessNumber太大,並且請使用者在猜一次,直到猜到數字為止!?

感謝收看~這就是今天介紹的python流程控制

瓦特歐Python介紹系列:
[TIL#1] Python 自學 day1 Anaconda
[TIL#2] Python 自學 day2 變數
[TIL#3] Python 自學 day3 流程控制
[TIL#4] Python 自學 day4 製作執行檔
[TIL#5] Python 自學 day5 執行檔更換icon
[TIL#6] Python 自學 day6 PIL浮水印、圖片大小變更
[TIL#7] Python 自學 day7 大量圖片Resize 處理 懶人包
[TIL#8] Python 自學 day8 GUI製作- 使用Tkinter Grid管理器
[TIL#9] Python 自學 day9 GUI製作 放入圖片 grid 版本
[TIL#10] Python 自學 day10 創造圖片的拼貼
[TIL#11] Python 自學 day11 matplotlib 統計圖、長條圖、圓餅圖、散佈圖


Leave a Comment