全國計算機等級考試二級教程--python語言程式設計(2018年版)第四章:程式的控制結構
阿新 • • 發佈:2018-12-23
宣告:本篇文章只是個人知識盲區、知識弱點、重點部分的歸納總結,望各位大佬不喜勿噴。梳理順序是按照書籍的實際順序梳理,轉載請註明出處。
作者:sumjess
一、程式的三種控制結構:
1、程式流程圖:
因為本身很簡單,同時圖也不好畫這裡就直接上照片了。
2、程式控制結構基礎:
順序結構、分支結構、迴圈結構---後面有詳解
3、程式控制結構擴充套件:
break、continue---後面有詳解
break控制符用來結束當前迴圈。continue控制符用來結束當前迴圈的當次迴圈過程。
二、程式的分支結構:
因為該部分與C語言非常接近,所以在本段的最後用一個例題包含所有。
1、單分支結構 :if
(1)使用方式如下:
if <條件>:
<語句塊>
其中,if、:和<語句塊>前的縮排 都是語法的一部分。
(2)<條件>是一個或多個條件,多個條件間採用and或or進行邏輯組合。and表示多個條件“與”的關係,or表示多個條件“或”的關係。
2、二分支結構 :if---else
(1)使用方式如下:
if <條件>:
<語句塊1>
else:
<語句塊2>
其中,if、else、:和<語句塊>前的縮排都是語法的一部分。
(2)還有一種表達形式如下:
<表示式1> if <條件> else <表示式2>
3、多分支結構 :if---elif---else
使用方式如下:
if <條件1>:
<語句塊1>
elif<條件2>:
<語句塊2>
............
else:
<語句塊N>
4、判斷條件及組合 :
< 小於
> 大於
<= 小於等於
>= 大於等於
= 等於
!= 不等於
5、例題:
score = eval(input('請輸入一個百分制成績:'))
if score > 90.0:
grade = 'A'
elif score >=80.0:
grade = 'B'
elif score >=70.0:
grade = 'C'
elif score >=60.0:
grade = 'D'
else:
grade = 'E'
print("對應的五進製成績是:{}".format(grade))
6、判斷條件及組合:
(1)python語言中,任何非零的數值、非空的資料型別都等價於true,0或空型別等價於False,可以直接作用判斷條件。
(2)python語言使用保留字not、and和or對條件進行邏輯運算組合。保留字not表示單個條件的“否”關係,and表示多個條件之間的“與”關係,or表示多個條件之間的“或”關係。
三、程式的迴圈結構:
1、遍歷迴圈 :for
(1)使用方式如下:
for <迴圈變數> in <遍歷結構>:
<語句塊>
(2)對於字串,可以逐一遍歷字串的每個字元,基本使用方式如下:
for <迴圈變數> in <字串變數>:
<語句塊>
for c in "pythonQQQ":
print(c)
(3)使用range()函式,可以指定語句塊的迴圈次數,基本使用方式如下:
for <迴圈變數> in range(<迴圈次數>):
<語句塊>
for c in range(10):
print(c)
(4)遍歷迴圈還有一種擴充套件模式,基本使用方式如下:
for <迴圈變數> in <遍歷結構>:
<語句塊1>
else:
<語句塊2>
當for迴圈正常執行後,才會執行else裡面的語句內容。
2、無限迴圈 :while
(1)使用方式如下:
while <條件> :
<語句塊>
n=0
while n<10:
print(n)
n=n+3
(2)while程式流程:
當程式執行到while語句時,判斷條件如果為true,執行迴圈體語句,語句結束後返回再次判斷while語句的條件;
當條件為false時,迴圈終止,執行與while同級別縮排的後續語句。
(3)無限迴圈也有一種使用保留字else的擴充套件模式,使用方式如下:
while <條件> :
<語句塊1>
else:
<語句塊2>
s,idx = 'PY',0
while idx<len(s):
print("迴圈執行中:"+s[idx])
idx += 1
else:
s="迴圈正常結束"
print(s)
3、迴圈控制 :break和continue
輔助迴圈控制的保留字:break和continue。
break用來跳出最內層for或while迴圈,脫離該迴圈後程序從迴圈後的程式碼繼續執行。
while True:
s=input("請輸入一個名字(按Q退出):")
if s == "Q":
break
for c in s:
if c == "E":
break
print(c,end="")
print("程式退出")
continue用來結束當前當次迴圈,即跳出迴圈體中下面尚未執行的語句,但不跳出當前迴圈。
for s in "PYTHON":
if s == "Y":
continue
print(s,end="")
continue語句和break語句的區別是:continue語句只結束本次迴圈不終止整個迴圈的執行,而break具備結束迴圈的能力。
四、程式的異常處理:
python語言使用保留字try和except進行異常處理,基本的語法格式如下:
try:
<語句塊1>
except:
<語句塊2>
語句塊1是正常執行的程式內容,當執行這個語句塊發生異常時,則執行except保留字後面的語句塊2。
try:
n=eval(input("請輸入一個數字:"))
print("請輸入數字的3次方值為:",n**3)
except:
print("輸入錯誤,請輸入一個數字!")
五、例項解析---猜數字遊戲:
import random
target = random.randint(1,1000)
count = 0
while True:
try:
guess = eval(input('請輸入一個猜測整數(1至1000):'))
except:
print('輸入有誤,請重試不計入猜測次數哦!')
continue
count = count + 1
if guess > target:
print('猜大了')
elif guess<target:
print('猜小了')
else:
print('猜對了')
break
print("此輪的猜測次數是:",count)