『無為則無心』Python基礎 — 15、Python流程式控制制語句(for循環語句)
- 2021 年 7 月 1 日
- 筆記
- 測試基礎必會技能 - Python基礎
提示:上一篇文章中詳細的說明了
while
循環語句,本篇文章來說說Python中的for
循環語句。
1、for
循環語法
# 註:臨時變數是程式設計師自定義的臨時變數。
for 臨時變數 in 序列:
重複執行的程式碼1
重複執行的程式碼2
......
for
循環的程式碼塊會執行多次,序列中有幾個元素就會執行幾次,
每執行一次就會將序列中的一個元素賦值給臨時變數,
所以我們可以通過臨時變數,來獲取列表中的每個元素。
快速體驗:
"""
1. 準備一個數據序列
2. 進行for循環
"""
str1 = 'Hello Pyhton'
for i in str1:
print(i)
執行結果:
2、for
循環中的break
和continue
for
循環中的break
和continue
和while
循環中的用法一樣。
下面我們直接練習來說明。
(1)break
說明
str1 = 'Hello Pyhton'
for i in str1:
if i == ' ': # 空格
print('遇到空格不列印')
break
print(i)
執行結果:
(2)continue
說明
str1 = 'Hello Pyhton'
for i in str1:
if i == ' ': # 空格
print('遇到空格不列印')
continue
print(i)
執行結果:
3、循環+else結構
循環(while
循環和for
循環)可以和else
配合使用,else
下方縮進的程式碼指的是,當循環正常結束之後要執行的程式碼。
(1)while...else
1)描述:
需求:女朋友生氣了,要懲罰:連續說5遍「媳婦兒,我錯了」,如果道歉正常完畢女朋友就原諒我了,這個程式怎麼寫?
i = 1
while i <= 5:
print('媳婦兒,我錯了')
i += 1
print('媳婦兒原諒我了...')
思考: 這個
是的,能夠執行。
但是這裡想說的是,只有懲罰的循環正常結束了,才能說出原諒你了。如果你的懲罰沒有正常結束,是不能夠被原諒的。
所以像這種懲罰後被原諒,這兩部分是有一種依賴關係的,這個時候就不能像上邊這樣寫了,就需要使用
while...else
格式的循環語句來完成編碼。
2)語法:
while 條件表達式:
條件成立重複執行的程式碼
else:
循環正常結束之後要執行的程式碼
3)示例:
"""
1. 書寫道歉的循環。
2. 循環正常結束要執行的程式碼寫在else中。
"""
i = 1
while i <= 5:
print('媳婦兒,我錯了')
i += 1
else:
print('媳婦原諒我了,真開心,哈哈哈哈')
"""
輸出結果:
媳婦兒,我錯了
媳婦兒,我錯了
媳婦兒,我錯了
媳婦兒,我錯了
媳婦兒,我錯了
媳婦原諒我了,真開心,哈哈哈哈
"""
(2)while...else
退出循環的方式
需求:女朋友生氣,要求道歉5遍:媳婦兒,我錯了。道歉到第三遍的時候,媳婦埋怨這一遍說的不真誠,是不是就是要退出循環了?這個退出有兩種可能性:
- 更生氣,不打算原諒,也不需要道歉了,程式如何書寫?
- 只一遍不真誠,可以忍受,繼續下一遍道歉,程式如何書寫?
1)break
方式
i = 1
while i <= 5:
if i == 3:
print('這遍說的不真誠,別說了!')
break
print('媳婦兒,我錯了')
i += 1
else:
print('媳婦原諒我了,真開心,哈哈哈哈')
執行結果:
總結:所謂
else
指的是循環正常結束之後要執行的程式碼,即如果是break
終止循環的情況(代表非正常情況),else
下方縮進的程式碼將不執行。
2)continue
方式
i = 1
while i <= 5:
if i == 3:
print('這遍說的不真誠,給我注意點!')
i += 1
continue
print('媳婦兒,我錯了,')
i += 1
else:
print('媳婦原諒我了,真開心,哈哈哈哈')
執行結果:
總結:因為
continue
是退出當前一次循環,繼續下一次循環,所以該循環在continue
控制下是可以正常結束的,當循環結束後,則執行了else
縮進的程式碼。
(3)for...else
和while...else
的用法一樣的。
1) 語法:
for 臨時變數 in 序列:
重複執行的程式碼
...
else:
循環正常結束之後要執行的程式碼
所謂
else
指的是循環正常結束之後要執行的程式碼,即如果是break
終止循環的情況,else
下方縮進的程式碼將不執行。
2)示例:
str1 = 'Python'
for i in str1:
print(i)
else:
print('循環正常結束之後執行的程式碼')
(4)for...else
退出循環的方式
1)break
終止循環
str1 = 'Python'
for i in str1:
if i == 'h':
print('遇到h不列印')
break
print(i)
else:
print('循環正常結束之後執行的程式碼')
執行結果:
沒有執行
else
縮進的程式碼。
2)continue
終止循環
str1 = 'Python'
for i in str1:
if i == 'h':
print('遇到h不列印')
continue
print(i)
else:
print('循環正常結束之後執行的程式碼')
執行結果:
因為
continue
是退出當前一次循環,繼續下一次循環,所以該循環在continue
控制下是可以正常結束的,當循環結束後,則執行了else
縮進的程式碼。