python程式的三種控制結構

2022-06-05 05:51:10 字數 4920 閱讀 1242

"""

程式有三種基本結構組成:順序結構、分支結構、迴圈結構。任何程式都是由這三種基本結構組成。

順序結構是程式按照線性順序依次執行的一種執行方式。

分支結構是程式根據條件判斷結果而選擇不同向前執行路徑的一種執行方式。

迴圈結構是程式根據條件判斷結果向後執行的一種執行方式。

"""

"""

python中分支結構使用if保留字對條件進行判斷,使用方法:

if 《條件》:

《語句塊》

其中,if、:、《語句塊》、前的縮排都是語法的一部分

例如:判斷乙個數字的大小

a = 1

b = 2

if a < b:

print("true")

《條件》可以是乙個或者多個條件,多個條件間採用and或or進行邏輯組合。and表示多個條件「與」的關係,or表示多個條件「或」的關係。

例如:判斷使用者輸入數字的特性

a = eval(input("請輸入乙個數字:"))

if a % 3 == 0 and a% 5 == 0:

print("這個數字既能被3整除,也可以被5整除")

print("輸入的數字是:",s)

請輸入乙個數字: 10

輸入的數字是: 10

請輸入乙個數字:15

這個數字既能被3整除,也可以被5整除

輸入的數字是: 15

"""

"""

python的二分支結構使用if-else保留字對條件進行判斷,語法格式如下:

if 《條件》:

《語句塊1>

else:

《語句塊2>

《語句塊1>在if《條件》中滿足即為true時執行,《語句塊2>在if《條件》中不滿足即為false時執行,簡單來說,二分支結構根據條件true或false結果產生兩條路徑。

例如:a = eval(input("請輸入乙個數字:"))

if a % 3 == 0 and a% 5 == 0:

print("這個數字既能被3整除,也可以被5整除")

else:

print("這個數字既不能被3整除,也不可以被5整除")

print("輸入的數字是:",s)

請輸入乙個數字:15

這個數字既能被3整除,也可以被5整除

輸入的數字是: 15

請輸入乙個數字:11

這個數字既不能被3整除,也不可以被5整除

輸入的數字是: 11

"""

"""

python的三分支結構使用if-elif-else保留字對條件進行判斷,語法格式如下:

if 《條件1>:

《語句塊1>

elif 《條件2>:

《語句塊2>

elif 《條件3>:

《語句塊3>

. .else:

《語句塊n>

多分支結構通常用於判斷同乙個條件或者一類條件的多個執行路徑。

例如:a = eval(input("請輸入你的成績:"))

if a > 90:

print("優秀")

elif a > 80:

print("良好")

elif a >= 60:

print("及格")

else:

print("不及格")

請輸入你的成績:100

優秀請輸入你的成績:85

良好請輸入你的成績:60

及格請輸入你的成績:50

不及格"""

python語言中的迴圈結構分為:遍歷迴圈和無限迴圈兩種,遍歷迴圈使用保留字for依次提取遍歷結構各元素進行處理,無限迴圈使用保留字while根據判斷條件執行程式。

在學習for迴圈時我們要理解,什麼是for迴圈,迴圈就是重複做某件事,for迴圈時python提供第二種迴圈機制,為何要有for迴圈,理論上for迴圈能做的事,while迴圈都可以做,之所以要有for迴圈,是因為for迴圈在迴圈取值(遍歷取值)比while迴圈更簡潔。

"""for 變數名 in 可迭代物件:

可迭代物件可以是:列表、字典、字串、元組、集合

遍歷迴圈:for

遍歷迴圈可以理解為從遍歷結構中逐一提取元素,放在迴圈變數中,對於每個所提取的元素執行一次語句塊。

for 《迴圈變數》 in 《遍歷結構》:

《語句塊》

例如:for a in "python":

print(a)py

thon

或者:for a in range(3):

print(a)01

2"""

遍歷結構還有一種擴充套件結構

"""for <> in <>:

《語句塊1>

else:

《語句塊2>

"""當for迴圈正常執行之後,程式會繼續執行else語句中內容,else語句只在迴圈正常執行之後才執行並結束,所以,可以在《語句塊2>中放置評價迴圈執**況的語句

使用者登入:當名字輸入錯誤或密碼輸入錯誤時,重新輸入,當名字以及密碼輸入錯誤達到三次,程式結束

name = "佩奇"

password = "123"

for i in range(3):

id_name = input("請輸入你的名字:")

id_password = input("請輸入你的密碼:")

if id_name == name and id_password == password:

print("登入成功")

break

else:

print("輸入次數三次,程式結束")

結果:請輸入你的名字:aa

請輸入你的密碼:123

請輸入你的名字:bb

請輸入你的密碼:123

請輸入你的名字:cc

請輸入你的密碼:123

輸入次數三次,程式結束

process finished with exit code 0

"""

python通過保留字while實現無限迴圈,基本使用方法如下:

while 《條件》:

《語句塊》

例如:n = 0

while n <10:

print(n)

n = n + 3

結果:036

9當程式執行到while語句時,判斷條件如果為true,執行迴圈體語句,語句結束後返回再次判斷while語句的條件,當條件為false時,迴圈終止,執行與while同級別縮排的後續語句。

無限迴圈也有一種使用保留字else的擴充套件模式:

while 《條件》:

《語句塊1>

else:

《語句塊2>

"""迴圈控制有兩個輔助迴圈控制的保留字:break和continue

break用來跳出最內層for或while迴圈,脫離該迴圈後程式繼續執行迴圈後續**。

例如:while true:

s = input("請輸入姓名:")

if s == "q":

break

print("輸入的名字是" ,s)

print("程式退出")

結果:請輸入姓名:佩奇

輸入的名字是 佩奇

請輸入姓名:喬治

輸入的名字是 喬治

請輸入姓名:q

程式退出

如果有2層或多層迴圈,break退出最內層迴圈。

而continue用來結束當前當次迴圈,即跳出迴圈體中,執行下面尚未執行的語句,但不跳出當前迴圈。

例如:for s in 'python':

if s == 'y':

continue

print(s,end='')

結果:pthon

"""總結:continue語句和break語句的區別是:continue語句只結束本次迴圈,不終止下面程式的執行,而break語句直接結束整個當前迴圈。

強調:在continue之後新增同級**毫無意義,因為永遠無法執行

"""

"""

count = 0

while count < 5:

print(count)

會一直0迴圈下去

while true:

input("輸入姓名:")

不會終止,但是不會引發效率問題

while true:

1 + 1

一直不停的工作,純計算無io的死迴圈會導致致命的效率問題,了解即可,不要實驗(費電腦)

"""while迴圈巢狀,每一層都必須配乙個break

例如:"""

while true:

while true:

while true:

break

break

break

"""

使用者登入:當名字輸入錯誤或密碼輸入錯誤時,重新輸入,當名字以及密碼輸入成功時,登入成功那個

name = "佩奇"

password = "123"

while true:

id_name = input("請輸入你的名字:")

id_password = input("請輸入你的密碼:")

if id_name == name and id_password == password:

print("登入成功")

break

else:

print("重新輸入")

請輸入你的名字:喬治

請輸入你的密碼:123

重新輸入

請輸入你的名字:佩奇

請輸入你的密碼:123

登入成功

程式的三種結構

程式的三種結構主要包含 順序結構,分支結構,迴圈結構。輸入乙個年份,判斷概念是閏年還是平年。include int main 否則平年 else return0 多分支語句結構。switch case語句。switch接受的表示式必須是整數或字元 case後面的值只能是常量 字面常量或符號常量 如下...

java程式的三種結構

順序結構 順序結構表示程式中的各個操作時按照它們在源 中的排列順序依次執行的 選擇結構 選擇結構表示程式的處理需要根據某個特定的條件選擇其中的乙個分支執行。選擇結構有單選擇 雙選擇和多選擇三種。單選 if logic expression 雙選 if logic expression else 多選...

三種流程控制結構(11)

按順序執行,懂得都懂,天天碼的 就預設順序結構 public static void main string args case穿透 switch匹配乙個具體的值char grade c char grade c switch grade case a system.out.println 優秀 b...