SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Python 迴圈作業
Revised on March 14, 2020
 關係運算子與邏輯運算子
 for迴圈
 使用range函式
 使用break與continue命令
 for…else迴圈
 while迴圈
 while…else迴圈
 巢狀迴圏
 循序 (sequence)
依先後順序,⼀個步驟接著⼀個步驟依序執⾏
 分支選擇 (branch)
依據不同的條件值,選擇不同的解題步驟執⾏
 反覆 (iteration)
部分解題步驟需要反覆執⾏,直到符合或是不符合某⼀條件式時,才
會離開重複執⾏的部份;也常被稱為「迴圈 (Loop)」
 分支與反覆作業通常需要搭配關係運算子與邏輯運算子來建立條件式
基本程式邏輯
2
運算子 說明 實例 運算結果
== 左側運算元與右側運算元是否相等
4 + 2 == 1 + 5 True
15 == 3 False
!= 左側運算元與右側運算元是否不相等
2 * 3 != 3 * 2 False
7 != 9 True
> 左側運算元是否大於右側運算元
12 > 10 True
6 * 2 > 3 * 4 False
< 左側運算元是否小於右側運算元
8 < 9 True
3 < 9 – 6 False
>= 左側運算元是否大於或等於右側運算元
12 >= 10 True
6 * 2 >= 3 * 4 True
<= 左側運算元是否小於或等於右側運算元
8 <= 9 True
3 <= 9 - 6 True
關係運算子
3
 and (且)邏輯運算子
 溫度(temper)高於30而且不超過的條件式寫法
(temper > 30) and (temper <= 38)
 or (或)邏輯運算子
 分數(score)必須介於0~100,則無效分數的條件式寫法
(score < 0) or (score > 100)
 not (相反)邏輯運算子
 not運算子是單⼀的條件式運算,主要是把條件式的結果造成相反結果,
即True  False,False  True
邏輯運算子
4
 for迴圈通常配合串列來運作,迴圈執⾏時會依序取出串列元素,指
定給迴圈變數,⼀直到串列內無元素為⽌
 語法
for 廻圈變數 in 串列:
廻圈區塊
 for迴圈敘述要以「:」冒號為結尾
 迴圈區塊要往後縮排4個空白字元
 如果迴圈區塊只有⼀⾏程式碼時,迴圈區塊可以接續在冒號後⾯
for迴圈
True
還有元素未處理? 迴圏區塊
False
迴圏變數=串列
第1個元素
迴圏變數=串列
下1個元素
 用來產生整數串列,語法:
 range(終值)
產生從0到「終值-1」的串列
 range(起始值, 終值 [,間隔值])
 起始值:整數串列的起始值,如果省略初值時,則預設從0開始
 終值:整數串列的終⽌值 (串列不含終⽌值)
 間隔值:整數串列元素的間隔值,該值可以為正值、負值或者省略
 預設間隔值為1
 間隔值是正值時,產生從起始值開始,每次遞增間隔值,到「終⽌值-1」為
⽌的串列
 間隔值為負值時,此時起始值必須大於終⽌值,產生的串列為由起始值開始,
每次遞減間隔值, 到「終⽌值+1」
range函式 1/2
range(5) #[0, 1, 2, 3, 4]
range(1, 10) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 10, 2) #[1, 3, 5, 7, 9]
range(10, 1, -2) #[10, 8, 6, 4, 2]
range函式 2/2
7
 費氏數列(Fibonacci number)頭兩個數為0與1,之後值為其前兩個
數總和
 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610
 設計程式,計算任⼀項的費氏數列值
Lab 費氏級數
8
 ㄧ個數如果恰巧等於他的因數之和,稱為完美數(Perfect number)
 6 = 1 + 2 + 3
 28 = 1 + 2 + 4 + 7 + 14
 設計程式,列出介於指定區間的完美數
Lab 尋找完美數
9
 在數論中,水仙花數(Narcissistic number)也稱為自戀數、自冪數,
用來描述⼀個N位正整數,該整數值等於其各位數字的N次方和
 153是⼀個「水仙花數」,因為153 1 5 3
 1634是⼀個「水仙花數」,因為1634 1 6 3 4
 設計程式,列出4位數(1000~9999)的自戀數
Lab 尋找自戀數
10
 迴圈執⾏時,break命令可強制脫離迴圈
 須搭配條件敘述
 break命令也適用while迴圈
break命令
11
1
2
3
4
5
6
7
for var in range(start, end):
statement
if(boolean-expression):
break
statement
...
statement
強制脫離for迴圈
 迴圈執⾏時,continue命令可略過本次循環,回到迴圈起始處執⾏下
⼀循環
 須搭配條件敘述
 continue命令也適用while迴圈
continue命令
12
1
2
3
4
5
6
7
for var in range(start, end):
statement
if(boolean-expression):
continue
statement
...
statement
繼續處理下一個元素資料
 語法
for 迴圈變數 in 串列:
迴圈區塊
else:
else程式區塊
 當for迴圈正常結束後,程式流程會執⾏else程式區塊⼀次
for…else
True
還有元素未處理? 迴圏區塊
False
迴圏變數=串列
第1個元素
迴圏變數=串列
下1個元素
else程式區塊
 質數(Prime number),又稱素數,指在大於1的自然數中,除了1和
該數自身外,無法被其他自然數整除的數(也可定義為只有1與該數本
身兩個正因數的數)
 設計程式,列出所有小於指定數的質數
Lab 尋找質數
 語法
while (條件式):
迴圈區塊
 while迴圈在迴圈開始前,會先檢查條件式是否成立,如果不成立,
程式流程會略過迴圈區塊,向下繼續執⾏。反之,程式流程會在迴圈
內循環,直到條件式的結果不成立,才會脫離迴圈
 通常用於沒有固定次數的情況
while迴圈 1/2
True
迴圏條件? 迴圏區塊
False
while迴圈 2/2
 語法
while (條件式):
迴圈區塊
else:
else程式區塊
 while迴圈正常執⾏結束(非break中⽌迴圏)後,才會執⾏else程式區塊
while…else
 若迴圈內還有迴圈,⼀層⼀層由內而外即構成「巢狀迴圈」(Nested
loop),也可以稱為「多重迴圈」。無論是for或while迴圈,或是同
時使用都可以構成巢狀迴圈
 撰寫巢狀迴圈程式時,要特別注意縮排程式才能正確執⾏
巢狀迴圈 1/2
巢狀迴圈 2/2
 下列程式碼執⾏後,輸出結果為何?
sum = 0
for x in range(10):
sum += x
print(x, sum, sep=',')
A. 9,45
B. 10,45
C. 10,55
D. 11,55
自我評量 1/4
 下列迴圏區塊,執⾏的次數為何?
for x in range(1, 10):
print (x)
A. 無限次
B. 0次
C. 9次
D. 10次
自我評量 2/4
 下列程式,最後⼀次輸出的結果為何?
x = - 10
while (x):
print (x)
x += 1
A. -1
B. 0
C. 1
D. 語法錯誤,無法執⾏
自我評量 3/4
 下列程式,那最後⼀次輸出的結果為何?
x ╒ - 10
while (x):
print (x)
x += 1
A. -1
B. 0
C. 1
D. 語法錯誤,無法執⾏
自我評量 4/4
 有⼀隻蝸⽜爬20公尺的旗桿,白天可向上爬3.5公尺,晚上會下滑1.2
公尺。寫⼀程式顯⽰蝸⽜爬到桿頂的過程
實作練習 1/2
24
 參考程式
實作練習 2/2
25

Mais conteúdo relacionado

Mais procurados

第六章 函數與巨集
第六章 函數與巨集第六章 函數與巨集
第六章 函數與巨集
shademoon
 
07 陣列與字串
07 陣列與字串07 陣列與字串
07 陣列與字串
shademoon
 
C語言 第4章 基本輸出與輸入功能
C語言 第4章 基本輸出與輸入功能C語言 第4章 基本輸出與輸入功能
C語言 第4章 基本輸出與輸入功能
shademoon
 
实验一 Mathematica软件简介
实验一   Mathematica软件简介实验一   Mathematica软件简介
实验一 Mathematica软件简介
guestfe33f0e
 

Mais procurados (20)

第4章函数
第4章函数第4章函数
第4章函数
 
第六章 函數與巨集
第六章 函數與巨集第六章 函數與巨集
第六章 函數與巨集
 
C程式-函式與巨集
C程式-函式與巨集C程式-函式與巨集
C程式-函式與巨集
 
建置Python開發環境
建置Python開發環境建置Python開發環境
建置Python開發環境
 
C程式-陣列與指標
C程式-陣列與指標C程式-陣列與指標
C程式-陣列與指標
 
C語言應用前置處理
C語言應用前置處理C語言應用前置處理
C語言應用前置處理
 
第5章数组
第5章数组第5章数组
第5章数组
 
Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算Python程式設計 - 基本資料運算
Python程式設計 - 基本資料運算
 
Sql培训 (1)
Sql培训 (1)Sql培训 (1)
Sql培训 (1)
 
C語言結構與串列
C語言結構與串列 C語言結構與串列
C語言結構與串列
 
C語言標準輸出入函式
C語言標準輸出入函式C語言標準輸出入函式
C語言標準輸出入函式
 
C語言陣列與字串
C語言陣列與字串C語言陣列與字串
C語言陣列與字串
 
Intro to C++ Basic
Intro to C++ BasicIntro to C++ Basic
Intro to C++ Basic
 
Ch 8
Ch 8Ch 8
Ch 8
 
系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器系統程式 -- 第 8 章 編譯器
系統程式 -- 第 8 章 編譯器
 
07 陣列與字串
07 陣列與字串07 陣列與字串
07 陣列與字串
 
C語言 第4章 基本輸出與輸入功能
C語言 第4章 基本輸出與輸入功能C語言 第4章 基本輸出與輸入功能
C語言 第4章 基本輸出與輸入功能
 
实验一 Mathematica软件简介
实验一   Mathematica软件简介实验一   Mathematica软件简介
实验一 Mathematica软件简介
 
Scala再探
Scala再探Scala再探
Scala再探
 
系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作系統程式 -- 第 12 章 系統軟體實作
系統程式 -- 第 12 章 系統軟體實作
 

Semelhante a Python程式設計 - 迴圈作業

实验一 Mathematica软件简介
实验一   Mathematica软件简介实验一   Mathematica软件简介
实验一 Mathematica软件简介
Xin Zheng
 
Coding guideline
Coding guidelineCoding guideline
Coding guideline
斯理 衛
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
summerfeng
 
第01章 绪论(java版)
第01章  绪论(java版)第01章  绪论(java版)
第01章 绪论(java版)
Yan Li
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
1138177709
 
项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929
Albert
 
第9章 transact sql程序设计
第9章   transact sql程序设计第9章   transact sql程序设计
第9章 transact sql程序设计
hanmo1988
 

Semelhante a Python程式設計 - 迴圈作業 (20)

Python系列2
Python系列2Python系列2
Python系列2
 
SCJP ch04
SCJP ch04SCJP ch04
SCJP ch04
 
实验一 Mathematica软件简介
实验一   Mathematica软件简介实验一   Mathematica软件简介
实验一 Mathematica软件简介
 
[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門[系列活動] 手把手打開Python資料分析大門
[系列活動] 手把手打開Python資料分析大門
 
第1章 Matlab操作基础
第1章  Matlab操作基础第1章  Matlab操作基础
第1章 Matlab操作基础
 
系統程式
系統程式系統程式
系統程式
 
Coding guideline
Coding guidelineCoding guideline
Coding guideline
 
Scilab introduction(Scilab 介紹)
Scilab introduction(Scilab 介紹)Scilab introduction(Scilab 介紹)
Scilab introduction(Scilab 介紹)
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
 
Bash shell script 教學
Bash shell script 教學Bash shell script 教學
Bash shell script 教學
 
第01章 绪论(java版)
第01章  绪论(java版)第01章  绪论(java版)
第01章 绪论(java版)
 
Ch1
Ch1Ch1
Ch1
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
 
项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929项目反应理论项目进度报告20090929
项目反应理论项目进度报告20090929
 
3, operators
3, operators3, operators
3, operators
 
建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架建造与理解-用Python实现深度学习框架
建造与理解-用Python实现深度学习框架
 
chapter 1 basic knowledge about python.ppt
chapter 1 basic knowledge about python.pptchapter 1 basic knowledge about python.ppt
chapter 1 basic knowledge about python.ppt
 
20161209-Julia Taiwan first meetup-julia語言入門
20161209-Julia Taiwan first meetup-julia語言入門20161209-Julia Taiwan first meetup-julia語言入門
20161209-Julia Taiwan first meetup-julia語言入門
 
第9章 transact sql程序设计
第9章   transact sql程序设计第9章   transact sql程序设计
第9章 transact sql程序设计
 
手把手打開Python資料分析大門
手把手打開Python資料分析大門手把手打開Python資料分析大門
手把手打開Python資料分析大門
 

Mais de 吳錫修 (ShyiShiou Wu)

Mais de 吳錫修 (ShyiShiou Wu) (20)

mbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdfmbot2.0教學-陀螺儀與三軸加速計應用.pdf
mbot2.0教學-陀螺儀與三軸加速計應用.pdf
 
mbot2.0教學-使用makeblock雲服務.pdf
mbot2.0教學-使用makeblock雲服務.pdfmbot2.0教學-使用makeblock雲服務.pdf
mbot2.0教學-使用makeblock雲服務.pdf
 
mbot2.0教學-局域網路傳輸應用.pdf
mbot2.0教學-局域網路傳輸應用.pdfmbot2.0教學-局域網路傳輸應用.pdf
mbot2.0教學-局域網路傳輸應用.pdf
 
mbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdfmbot2.0教學-四路顏色感測器應用.pdf
mbot2.0教學-四路顏色感測器應用.pdf
 
mbot2.0教學-聲光控制應用.pdf
mbot2.0教學-聲光控制應用.pdfmbot2.0教學-聲光控制應用.pdf
mbot2.0教學-聲光控制應用.pdf
 
mbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdfmbot2.0教學-光感測器與LED應用.pdf
mbot2.0教學-光感測器與LED應用.pdf
 
mbot2.0教學-超音波感測應用.pdf
mbot2.0教學-超音波感測應用.pdfmbot2.0教學-超音波感測應用.pdf
mbot2.0教學-超音波感測應用.pdf
 
mbot2.0教學-移動控制.pdf
mbot2.0教學-移動控制.pdfmbot2.0教學-移動控制.pdf
mbot2.0教學-移動控制.pdf
 
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdfmbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
mbot2.0教學-mblock5開發mBot 2.0應用程式.pdf
 
mbot2.0教學-組裝與測試.pdf
mbot2.0教學-組裝與測試.pdfmbot2.0教學-組裝與測試.pdf
mbot2.0教學-組裝與測試.pdf
 
Python函式
Python函式Python函式
Python函式
 
micro:bit加速度感測應用
micro:bit加速度感測應用micro:bit加速度感測應用
micro:bit加速度感測應用
 
C語言檔案處理
C語言檔案處理C語言檔案處理
C語言檔案處理
 
C語言列舉與聯合
C語言列舉與聯合C語言列舉與聯合
C語言列舉與聯合
 
C語言函式
C語言函式C語言函式
C語言函式
 
C語言迴圈作業
C語言迴圈作業C語言迴圈作業
C語言迴圈作業
 
C語言分支流程
C語言分支流程C語言分支流程
C語言分支流程
 
C語言運算式和運算子
C語言運算式和運算子C語言運算式和運算子
C語言運算式和運算子
 
C語言基本資料型別與變數
C語言基本資料型別與變數C語言基本資料型別與變數
C語言基本資料型別與變數
 
C語言初體驗
C語言初體驗C語言初體驗
C語言初體驗
 

Python程式設計 - 迴圈作業