預設情況下,程式的執行流程是這樣的:執行程式後,系統會按書寫順序從上至下執行程式中的每一行**,但是這樣並不能滿足我們所有的開發需求。實際開發中,我們需要根據不同的條件執行不同的**或者重複執行某一段**,為了方便我們控制程式的執行流程,python提供3種流程結構,不同的流程結構可以實現不同的執行流程。分別是順序、選擇、迴圈三種基本控制結構構造:
python中只有if語句可以實現分支結構的功能:對給定的條件進行判斷,再根據判斷結果來決定執行哪一段**。
1.1 if單分支
if單分支結構主要用於: 滿足條件就執行某個操作,不滿足就不執行。
可以通過下圖來簡單了解條件語句的執行過程:
語法:
if condition:
statement_block
說明:if
- 關鍵字,固定寫法
condition - 條件語句,可以是任何有結果的表示式
:- 固定寫法
statement_block - 結構上是和if保持乙個縮排的一條或者多條語句;邏輯上就是希望滿足條件才執行的 **塊
執行過程
如果 'condition' 為 true將執行 'statement_block'
以下是乙個簡單的if例項:
# 根據年齡值的範圍列印『成年』
age =
int(
input
('請輸入年齡:'))
if age >=18:
print
('成年'
)
結果:
請輸入年齡: 20
成年請輸入年齡: 12
1.2 if雙分支
if雙分支結構主要用於:滿足條件執行某個操作,不滿足條件的時候執行另外乙個操作。
以下是if雙分支結構的執行流程圖:
語法
if condition:
statement_block1
else
: statement_block2
說明:if
- 關鍵字,固定寫法
condition - 條件語句,可以是任何有結果的表示式
:- 固定寫法
statement_block1 - 結構上是和if保持乙個縮排的一條或者多條語句;邏輯上就是希望滿足條件才執行 的**塊
statement_block2 - 結構上是和else保持乙個縮排的一條或者多條語句;邏輯上就是不滿足條件才執行 的**塊
執行過程
先判斷 'condition' 是否為true
, 如果為true就執行 'statement_block1'
, 否則'statement_block2'
以下是if-else結構的使用例項:
# 根據年齡值的範圍列印'成年'或者'未成年'
age =
int(
input
('請輸入年齡:'))
if age >=18:
print
('成年'
)else
:print
('未成年'
)
結果:
請輸入年齡:12
未成年請輸入年齡:30
成年
1.3 if多分支
if多分支結構主要用於:根據不同的條件執行不同的操作(後面的條件是在前面的條件不成立的情況下進行判斷的)。
語法
if condition1:
statement_block1
elif condition2:
statement_block2
elif condition3:
statement_block3..
.else
: statement_block
說明:if
,else
,elif
- 關鍵字,固定寫法
condition - 條件語句,可以是任何有結果的表示式
statement_block - 語句塊
執行過程
先判斷 'condition1' 是否為true
,為true就執行 'statement_block1',然後整個if
-elif
-else結構結束;
如果 'condition1' 為false
,就判斷 'condition2' 條件語句2
''是否為true
, 為true就執行 'statement_block2',然後整個if
-elif
-else結構結束;
如果 'condition2' 是false
,就判斷 'condition3' 是否為true
, 為true就執行 'statement_block3',然後整個if
-elif
-else結構結束;
以此類推
如果所有的條件語句都不成立,執行else後面的**段
以下是if多分支結構的使用例項:
# 根據年齡範圍列印:少年(14歲以下)、青年(14~28)、壯年(29~39)、中年(40~59)、老年(60歲以下)
age =
int(
input
('請輸入人的年齡:'))
if age <=0:
print
('你逗我呢!'
)elif age <14:
print
('少年'
)elif age <=28:
print
('青年'
)elif age <=39:
print
('壯年'
)elif age <60:
print
('中年'
)elif age <
150:
print
('老年'
)else
:print
('成精了!'
)
結果:
請輸入人的年齡:40
中年請輸入人的年齡:18
青年
1.4 巢狀的if結構
if巢狀指的是在if結構中再出現其他的if結構。
if 表示式1
: 語句
if 表示式2
: 語句
elif 表示式3
: 語句
else
: 語句
elif 表示式4
: 語句
else
: 語句
以下是巢狀的if結構例項:
num=
int(
input
("輸入乙個數字:"))
# 判斷num是否能被2整除
if num%2==
0:# num 能被 2 整除執行以下**:
if num%3==
0:print
("你輸入的數字可以整除 2 和 3"
)else
:print
("你輸入的數字可以整除 2,但不能整除 3"
)else
:# num 不能被2整除執行以下**:
if num%3==
0:print
("你輸入的數字可以整除 3,但不能整除 2"
)else
:print
("你輸入的數字不能整除 2 和 3"
)
Python基礎語法系列4 進製
在計算機進行資料交換時,常常會有乙個進製轉換的過程,我們知道計算機只認0 和 1.在記憶體系統中,基本基於二進位制進行運算的,但是有時候資料過於龐大,為了方便儲存管理,計算機會使用十六進製制儲存資料,但是怎麼實現資料轉換呢?我們人類由十根手指頭,所以自然就使用十進位制啦,每當我們數數字到10之後,於...
Python學習 7 if語句
1.邏輯控制if語句 很多程式語言都提供了邏輯控制語句,python也是,雖然python中的if語句在格式上與其他語言有所差異,但他們所體現的思想和功能卻是一致的.下面我們來介紹下python中的if語句。我們來看下if語句的格式,如下圖 如圖所示,即if語句格式,if後加乙個空格,緊接著是邏輯判...
每日演算法系列 7
建立三個指標,分別指著head前乙個結點pre,head,head後乙個結點next。初始化pre,使得pre先指著位於鍊錶頭部外部空間,設為null,next也設為null但並不存在指向者。首先先將next指向head.next,用於儲存head的下乙個結點,使得鍊錶轉向不會因為鍊錶斷裂而丟失he...