day4-循環(huán)結(jié)構(gòu)
一、for循環(huán)
1. 什么時(shí)候使用循環(huán)
- 代碼中需要重復(fù)執(zhí)行某個(gè)操作的時(shí)候频蛔,就可以使用循環(huán)
- python中有for循環(huán)和while循環(huán)
2. for循環(huán)語法
for 變量名 in 序列:
? 循環(huán)體
a.說明
for去件,in - 關(guān)鍵字眠饮,固定寫法
: - 固定寫法
變量名 - 和聲明變量時(shí)的變量名要求一樣
序列 - 容器型數(shù)據(jù)必孤,python常見序列有:range蓖救、字符串侣肄、列表旧困、字典、集合稼锅、元組吼具、迭代器、生成器
循環(huán)體 - 和for保持一個(gè)縮進(jìn)的一條或多條語句矩距,會(huì)被重讀執(zhí)行的代碼
b.執(zhí)行過程
讓變量去序列中取值拗盒,一個(gè)一個(gè)的取,取完為止锥债,每取一個(gè)值執(zhí)行一次循環(huán)體
for循環(huán)的循環(huán)次數(shù)由序列中元素的個(gè)數(shù)來控制
3. range()
函數(shù) - 專門產(chǎn)生一定范圍的數(shù)字序列
-
range(n)
-產(chǎn)生一個(gè)0~n-1的數(shù)字序列(整數(shù))陡蝇,n必須是大于0的整數(shù)
-
-
range(m,n)
-產(chǎn)生m~n-1的數(shù)字序列痊臭,m和n都必須是整數(shù),n必須大于m
-
-
range(m,n,step)
-從m開始登夫,每次加step广匙,直到n-1
-
二恼策、while循環(huán)
1. while循環(huán)的語法
while 條件語句:
? 循環(huán)體
a.說明
while - 關(guān)鍵字
條件語句 - 和if后面的條件語句要求一樣鸦致,任何有結(jié)果的表達(dá)式,除了賦值語句都可以
循環(huán)體 - 和while保持一個(gè)縮進(jìn)的一條或多條語句
b.執(zhí)行過程
先判斷條件語句是否為True涣楷,如果是True就執(zhí)行循環(huán)體分唾;執(zhí)行完循環(huán)體,再判斷條件是否為True狮斗,如果為True又執(zhí)行循環(huán)體鳍寂;以此類推,直到條件語句結(jié)果是False情龄,整個(gè)循環(huán)結(jié)束
2. for循環(huán)和while循環(huán)的使用
- for:當(dāng)循環(huán)次數(shù)確定的時(shí)候都選擇for循環(huán)
- while:死循環(huán),循環(huán)次數(shù)不確定
3. 隨機(jī)數(shù)
-
randint(m,n)
-產(chǎn)生一個(gè)m~n的隨機(jī)整數(shù)
三捍壤、循環(huán)相關(guān)的關(guān)鍵字
1. continue關(guān)鍵字
- continue只能出現(xiàn)在循環(huán)體中骤视;當(dāng)執(zhí)行循環(huán)體遇到continue時(shí),結(jié)束當(dāng)次循環(huán)鹃觉,進(jìn)入下次循環(huán)的判斷
2. break關(guān)鍵字
- break只能出現(xiàn)在循環(huán)體中专酗;當(dāng)執(zhí)行循環(huán)體遇到break,整個(gè)循環(huán)直接結(jié)束
3. else關(guān)鍵字
- 完整的for循環(huán)
for 變量 in 序列:
? 循環(huán)體
else:
? 代碼塊
- 完整的while循環(huán)
while 條件語句:
? 循環(huán)體
else:
? 代碼塊
當(dāng)程序自然死亡盗扇,會(huì)執(zhí)行和循環(huán)相關(guān)的else中的代碼塊祷肯;如果循環(huán)是因?yàn)橛龅絙reak結(jié)束,就不會(huì)執(zhí)行else中的代碼塊