程式流程圖時一種表達程式控制結構的方式,主要用於關鍵部分的程式分析和過程描述,由一系列圖形、流程線和文字說明等組成。包括七種元素:
程式由三種基本結構組成:順序結構,分支結構和迴圈結構。
順序結構是程式按照線性順序依次執行的一種執行方式
分支結構是程式根據條件判斷結果而選擇不同向前執行路徑的一種執行方式。
迴圈結構是程式根據條件判斷結果向後執行的一種執行方式
在分支結構原理的基礎上,python增加了異常處理,使用try-except保留字,異常處理以程式是否異常為判斷條件,根據一段**執行的正確性進行程式邏輯選擇,異常處理是分支結構的一種擴充套件。
在迴圈結構的基礎上,python提供兩個迴圈控制符break和continue,對迴圈的執行過程進行控制。break控制符用於結束當前迴圈,continue控制符用來結束當前迴圈的當此迴圈。
python的單分支結構使用if保留字對條件經行判斷:
if 《條件》:
《語句塊》
其中if : 和語句塊前的縮排是語法的一部分。
# 判斷使用者輸入數字的奇偶性
s =eval
(input
("請輸入乙個整數:"))
if s %2==
0:print
("這是個偶數"
)print
("輸入的數字是:"
,s)
《條件》是乙個或多個條件,多個條件採用and 或or經行邏輯組合
python的二分支結構:
if 《條件》:
《語句塊1>
else:
《語句塊2>
簡單說:二分支結構根據條件的true或false結果產生兩條路徑。
s=
eval
(input
("請輸入乙個整數:"))
if s%3==
0and s%5==
0:print
("這個數字能夠同時被3和5整除"
)else:
print
("這個函式不能夠同時被3和5整除"
)
二分支結構還有一種更加簡潔的方式表達,適合《語句塊1>和《語句塊2>都只包含簡單表示式的情況,語法格式如下:
《表示式1> if 《條件》 else 《表示式2>
對於簡潔表示式,要使用表示式而不是語句。例如:
s =
eval
(input
("請輸入乙個數字:"))
token=
""if s%3==
0and s%5==
0else
"不"print
("這個數字{}能夠同時被3和5整除"
.format
(token)
)
提示:表示式和語句:
表示式是產生或計算新資料值的**片段,它不是完整語句。例如99+1是表示式,a=99+1則是語句。
python使用多分支語句對多個相關條件進行判斷,並根據不同條件的結果按照順序選擇執行路徑:
if 《條件1>:
《語句塊1>
elif《條件2>:
《語句塊2>
……else:
《語句塊n>
多分支結構通常用於判斷同乙個條件或一類條件的多個執行路徑。要注意,python會按照多分支結構的**順序一次評估判斷條件,尋找並執行第乙個結果為true條件對應的語句塊,當前語句塊執行後跳過整個if-elif-else結構,如果沒有任何條件成立,else下面的語句塊被執行。else子句是可選的。
利用多分支結構編寫**時要注意多個邏輯條件的先後關係。
分支結構中的判斷條件可以使用任何能夠產生true或false的語句或函式。形成判斷條件最常見的方式是採用關係操作符。
操作符數字符號
操作符含義
<
<
小於<=
≤小於等於
>=
≥大於等於
>>大於
===等於!=
≠不等於
python語言中,任何非零的數值,非空的資料型別都等價於true,0或空型別等價於false
python語言使用保留字not,and,和or 對條件進行邏輯運算或組合
遍歷迴圈和無限迴圈。遍歷迴圈使用保留字for依次提取遍歷結構各元素進行處理;無線迴圈使用保留字while根據判斷條件執行程式。
for 《迴圈變數》 in 《遍歷結構》:
《語句塊》
便利結構可以是字串,檔案,range()函式或組合資料型別等。
遍歷迴圈的擴充套件模式
for 《迴圈變數》 in 《遍歷結構》:
《語句塊1>
else:
《語句塊2>
當for迴圈正常執行之後,程式會繼續執行else語句中的內容。else語句只在迴圈正常執行之後才執行並結束。因此,可以在《語句塊2>中放置評價迴圈執**況的語句。
while 《條件》:
《語句塊》
當程式執行到while語句是,判斷條件如果為true,執行迴圈體語句,語句結束後返回再次判斷while語句的條件:當條件為false時,迴圈終止,執行於while同級別縮排的後續語句。
while迴圈也可以加入else獎勵
try:
《語句塊1>
except:
《語句塊2>
語句塊1 是正常執行的程式內容,當執行這個語句塊發生異常時,則執行except保留字後面的語句塊2
4.6例項解析——猜數字遊戲
import random
target = random.randint(1,
1000
)count =
0while
true
:try
: guess =
eval
(input
("請輸入乙個猜測的整數(1至1000):"))
except
:print
('輸入有誤,不計入猜測次數哦!'
)continue
count = count +
1if guess > target:
print
('猜大了'
)elif guess < target:
print
('猜小了'
)else
:print
('猜中了'
)break
print
('此輪的猜測次數是:'
,count)
print
("you guess {} times!congratulate!"
.format
(count)
)
使用input()獲取使用者輸入是一定不會出現異常的,因為任何輸入都會被當作字串,但eval(input())則可能在輸入不是數字時產生異常導致程式退出,因此,需要異常判斷。 Python學習筆記04
l1 2,3,4 l2 l1 l1 和 l2 引用乙個共同的物件 l2 2,3,4 l1 0 24 改變物件,兩個都改變 l1 24,3,4 l2 24,3,4 防止共享引用的方式 l1 2,3,4 l2 l1 用分片操作,可以複製物件的副本 l1 0 24 l1 24,3,4 l2 2,3,4 i...
python學習筆記(04)
python 的函式 函式,是乙個可以重複使用的程式段,我們可以通過呼叫函式,使程式實現相同的功能,從而大大減少的工作量。我們可以在乙個函式裡實現多個方法,通過呼叫各種方法,實現各種功能。python 中函式的定義 def 函式名 功能呼叫時,僅輸出 函式名.方法 即可。例 cat sayhello...
Python 學習筆記 04 函式
定義乙個函式 只是定義的話不會執行 1.def 關鍵字 後面跟乙個空格 2.匿名函式.自己定義,起名需要遵循命名規則,約定俗成,大駝峰命名只給類用 3.後面括號和冒號不能省略,括號內可以有引數 4.函式內所有 縮排 deffunc print 函式定義 print func 函式定義 none 函式...