1. 程式人生 > >Python流程控制中的 for、 while、frange循環和嵌套詞匯continue、brec

Python流程控制中的 for、 while、frange循環和嵌套詞匯continue、brec

python 流程控制 循環 嵌套


本章 內容 含有 python的流程控制

循環使用語法 For while

嵌套 語法 Contitune breck


循環語法

Python中 循環語法有 for 、 while

他們都是實現 一個 同一個目的,當有一段程序,我希望反復執行的時候,就會用到 這兩個循環。

For語法

For循環是有 循環次數的,取決於 提取元素的序列,按照元素出現的順序送代任何序列 (列表或者字符串)

比如說 字符串 就是 序列 ,比如 定義好一個 hello,它的序列就是5次, for 循環 理論是來講都是有 循環次數的,你的數無窮大的話,都是有循環次數的


For語法

For 送代變量 in 序列:

代碼塊

range()

For in : 是固定的循環格式

For 表示 要開始循環 叠代變量逐級從 序列裏取值

每取一個序列然後 執行代碼塊,從序列裏 值 取浄了 這個循環 就執行結束


For 例子


 for td in ('power off'):
     print(td)


表達含義

For 循環 叠代變量 td power off 字符串 序列

把 td 打印 出來 ,看下I 取的什麽值

是先 取出 第一個值

然後在取最後一個值 f 沒有了,for 循環就這樣結束了


運行結果

p
o
w
e
r
 
o
f
f




如果為了 單純控制 循環次數 ,任何值都可以

任何值 例子

for w in ('233456'):
     print('今天學校停電')


表達含義

For 送代變量 w 字符串序列 一共為6位

打印什麽都是隨意的

W 從後面取值的過程只是用來控制循環的次數

從 字符串 序列中取值為6位

運行了6次 打印內容


運行結果

今天學校停電
今天學校停電
今天學校停電
今天學校停電
今天學校停電
今天學校停電





如果只是為了 循環 次數 那麽不需要 用其它詞的個數序列 來表達了

這裏 就會用到 一共 內置函數 range() 會自動生產 一個等差級 數值鏈表


內置函數range()

range例子

or y in range (5):
     print(y)


表達含義

For 循環 y 這個送代變量調用內置函數range(5)


運行結果

0
1
2
3
4




range 可以快速 生成一共 被提取的序列

range還可以生成制定區間的值

range 指定數字開始並指定不同的增量(甚至可以是復數;跟布長值一個概念)

在有人在叠代取值的時候它會生成值,這種現象 叫做 生成器

range函數可以用於 循環的 時候 想循環幾次 ,那就生成幾 ,可直接拿來用。


用range 快速生成例子


for qxq in range (3):
     print('是range函數調用我的=。=')


表達含義

for 循環 qxq 調用 range函數


運行結果

是range函數調用我的=。=
是range函數調用我的=。=
是range函數調用我的=。=



range 還有一種 高級的用法 ,可以指定 生成的範圍。


range例子


for p in range (1,5):
     print(p)


表達含義

For 循環 送代函數 p 內置函數range調用(1,5)

表示起始值為 1 結束值為5,但不包含結束值

這個概念和切片差不多。


運行結果

1
2
3
4




range 運用 步長值 例子


for p in range (1,10,2):
     print(p)


表達含義

For 循環 p 調用 range 語句(1,10,2)起始值為1 結束值為2,每隔兩個取個值

和 切片的概念差不多,步長值為2,每隔兩個取一個值。


運行結果

1
3
5
7
9



概括

For 既可以從 序列當中取出值 ,也可以打印 也可以依據序列裏面值的個數 ,執行多少次循環,從序列當中取值的過程 叫做 遍歷 for循環通常都是有次數的循環,循環過程當中都是從序列中取值,可以加以利用,也可以不用。

如果不需要序列裏面值的時候一般都用range,如果用到裏面值了,可以取出來下面接著用。





While語法

While語法

While 條件:

代碼塊



一般需要 一個 一直 執行的程序,直到用戶 要求退出了 才退出的 程序,這個時候就要用到wihle 循環。

While 循環 有點像 把 for循環 if 循環 做了一個集合

根據一個條件來判斷 是否繼續 循環

條件成立就執行

條件不成立才會結束

While循環有個問題如果條件一直無法不成立就會成為一個死循環。



While 例子

一個while 基本方式


a = 'b'
while a != '金牌講師 大司馬':
    a = input ('我就不喊你哼╭(╯^╰)╮我是鐵頭娃:')


表達含義

a = b 為了讓 a 語句成立

while判斷 條件 a 不等於 字符串 內容 金牌講師大司馬 成立。就會一直執行

執行代碼塊內容 a = input('內容 自定義') 用input 是為了跟用戶產生一個交互

input 還帶 打印 功能 只要用戶輸入的一直成立,就會一直執行,直到不成立



運行結果

我就不喊你哼╭(╯^╰)╮我是鐵頭娃:我頭鐵
我就不喊你哼╭(╯^╰)╮我是鐵頭娃:皮的嘛,就不談了
我就不喊你哼╭(╯^╰)╮我是鐵頭娃:我錯了
我就不喊你哼╭(╯^╰)╮我是鐵頭娃:金牌講師 大司馬
>>>




如果你想執行死循環的話

那就執行while = 1

如果不想 執行 死循環的話 ,就必須在while循環當中 設置某種機制然後可以解除while循環、

比如break等類似跳出 語句循環的 才會終止


死循環例子


while 1 :
     a = input ('這是個死循環哦~~~~~:')


表達含義

While 1代表一個 常量表達式,它永遠不會= 0,所以循環會一直執行下去。

這裏 a 不管輸入什麽 都判斷為真


運行結果

這是個死循環哦~~~~~:ha
這是個死循環哦~~~~~:我要出去
這是個死循環哦~~~~~:德瑪西亞萬歲
這是個死循環哦~~~~~:一切都是為了榮耀
這是個死循環哦~~~~~:麻利麻利哄
這是個死循環哦~~~~~:我絕望了




嵌套 語句 Contitune breck

嵌套和循環控制 都是跟 if for while相關的知識。


嵌套可以實現千變萬化的 功能 ,可能你只用 if for while 可能無法達成 某個功能的時候。或者 發現 某個 if for 循環這個時候 ,要根據 某個條件 完成某件 事情,這個時候 就要用到 嵌套了。

嵌套淺意 == 在一個語法結構 當中 涵蓋了 另一個 語法結構,可以任意組合。


在嵌套環境下,要註意 語句縮進 因為完全是根據縮進來 選擇 優先 執行的

在裏面 判斷是否 屬於 for 循環的 還是 if的,完全是由縮進來決定了,

在嵌套環境下 不只是 判斷4個空格了。但是主題語句結構還是4個空格,

跟你當前的 語句是有關系的


嵌套

For 送代變量 in 序列:

If 條件

代碼塊

代碼塊

還是那句話,語法結構 本生 並不復雜, 復雜的是人的 想法。

for 嵌套 if 的例子


for i in range(18): #for 循環 i in帶入 並且用 內置函數 range 生成一個等差級數鏈表 0 ~18 
    print(i)        #打印出i
    if i > 5:       # if 判斷如果 i > 5

表達含義

先執行循環 for的 range 內置函數等差數鏈表0~18,

從0開始

打印出 i

If判斷 一直到 6 成立了。才會執行 if裏面的語句。i * 10

If 結束後 繼續執行for循環 未執行完的語句。


運行結果

0
1
2
3
4
5
6
60
7
70
8
80
9
90
10
100
11
110
12
120
13
130
14
140
15
150
16
160
17
170



語法層次的例子


for i in range (18):
    if i > 5 :
        print(i*10)
    print(i)


表達含義

For 的打印 放在最後

先不成立 會一直打印 for 循環的語句

成立後 先 執行 if 語句 在執行 for循環的打印


運行結果

0
1
2
3
4
5
60
6
70
7
80
8
90
9
100
10
110
11
120
12
130
13
140
14
150
15
160
16
170
17







下面 介紹的 是基本的 嵌套,嵌套有很多功能,具體 做什麽 都是根據實際的需求


介紹 三個 嵌套控制 裏面的 重要 組成部分

共有 控制 循環 嵌套

如果 要把 嵌套代碼 修改 ,讓它 在 第 5次或者,第6次的時候 停止循環,跳出循環,

不執行循環嵌套, 這個時候 就要 用到 控制 循環。



簡要說明 下 continue 和 breck 的使用 方法 簡介

Continue作用: 用來跳出下面余下的代碼,緊接著執行下一次叠代取值。從它往下都不執行

Bareck的作用: 跳出當前循環 結束當前整個循環。



continue 例子


for i in range (10):
    if i == 5 :
        print(i*10)
        continue
    print (i)


表達簡易

For 判斷 i 用內置函數 range 生產一個 等差級數列表, 打印0~10

If 判斷 i如果 i完全等於 5 這個整數的時候

If判斷成立 打印 i *10

執行if語句的 Continue 不會結束循環,跳過本次循環

被上面的 continue 跳過了 本次 循環 就不會打印5了


運行結果

0
1
2
3
4
50
5
6
7
8
9




Break的作用: 跳出當前循環 結束當前整個循環。


break語句用來終止循環語句,即循環條件沒有False條件或者序列還沒被完全遞歸完,也會停止執行循環語句。

break語句用在whilefor循環中。

如果您使用嵌套循環,break語句將停止執行最深層的循環,並開始執行下一行代碼。


Breck例子


while 1 :
    a = input ('執行一個循環然後引用baeak停止:')
   
 
    if  a == 'no':
        break


表達簡易

while 1 表達一個 常量表達式,它永久不會 = 0,所以循環 會一直 執行下去。除非設置 break 等類似 跳出 語句循環的 才會終止

a = 輸入 一句話 input 輸入 具有打印 作用

if 判斷 a 如果全等於 字符串 no

執行 break 跳出 當前循環 結束當前整個循環


運行結果

執行一個循環然後引用baeak停止:23333
執行一個循環然後引用baeak停止:emmmm
執行一個循環然後引用baeak停止:no
>>>



混合嵌套例子


for a in range (15):
    if a == 5:
        print(a-2)
        continue
   
    if a == 13 :
        print(a)
        break
print (a)


表達含義

For 循環 a 送代變量 調用 內置函數range 送代變量

先if 判斷 a 如果完全等於 5

成立 執行代碼塊內容

等於 5的 時候 -2

Continue 跳出余下代碼塊 執行下一次循環

if 判斷 a 如果完全 等於 13

成立 執行 代碼塊 內容 打印 這個值

Break 結束當前整個循環


運行結果

0
1
2
3
4
3
6
7
8
9
10
11
12
13




有時候 會 需要 人為的 死循環,給個跳出當前的循環的值


死循環例子


while 1:
    a = input ('我就是大哥:')
    if a == '大哥救救我吧':
        break

表達含義

while 1 表達一個 常量表達式,它永久不會 = 0,所以循環 會一直 執行下去。除非設置 break 等類似 跳出 語句循環的 才會終止

a = 輸入(內容自定義)這裏是為 跟用戶交互

if 判斷 a 如果什麽 用戶 輸入了 大哥救救我吧

執行代碼塊內容 break 結束當前整個循環


運行結果

我就是大哥:救命
我就是大哥:大哥
我就是大哥:我跟你了
我就是大哥:大哥救救我吧


Python流程控制中的 for、 while、frange循環和嵌套詞匯continue、brec