一、什么是條件控制
條件控制用生活中的一個(gè)例子來說就是:當(dāng)你去買車時(shí)褒繁,會有好多品牌亦鳞,這個(gè)時(shí)候我們就需要做出選擇,到底需要買哪個(gè)品牌的車棒坏,而在編程中燕差,條件控制就是為了幫你做選擇的。
用專業(yè)點(diǎn)的話來說坝冕,條件控制語句徒探,也可以稱之為判斷語句,通過一條或多條的執(zhí)行結(jié)果來決定接下來要執(zhí)行的代碼塊喂窟。
上圖就是一個(gè)條件控制测暗。
二央串、if條件控制
簡單的說if條件控制有多種表達(dá)的形式。
最簡單的
if語句只有一個(gè)判斷一個(gè)操作碗啄。
語法:
if 條件:
條件成立质和,執(zhí)行代碼塊
** 舉例 **
age = 18
if age == 18:
print('我是18')
if-else
語法:
if 條件:
滿足條件執(zhí)行的代碼塊1
else:
沒有滿足if條件執(zhí)行的代碼塊2
舉例
age = 18
if age == 17:
print('我是18')
else:
print('我不是18')
if-elif-else
一個(gè)if只能有一個(gè)else,但是可以擁有多個(gè)elif稚字。在 C 饲宿、C++、Java 中都有switch-case語句胆描,但是Python中沒有 switch-case瘫想,可以使用 if-elif-else 來代替 switch-case,在 C 昌讲、C++国夜、Java 中的 switch-case 也是可以被 if-elif-else 這種類型代替的。
語法:
if 條件:
滿足if條件執(zhí)行的代碼塊1
elif 條件1:
滿足條件1執(zhí)行的代碼塊2
elif 條件2:
滿足條件2執(zhí)行的代碼塊3
else:
不滿足以上條件執(zhí)行的代碼塊4
舉例
age = 18
if age == 17:
print('我是17')
elif age == 18:
print('我是18')
elif age == 19:
print('我是19')
elif age == 20:
print('我是20')
else:
print('我不知道短绸!')
if嵌套
If 嵌套就是在 if-elif-else 結(jié)構(gòu)中再嵌套另外一個(gè) if-elif-else 結(jié)構(gòu)支竹。
語法:
if 條件:
滿足if條件執(zhí)行的代碼塊
elif 條件1:
if 條件1-1:
滿足條件1-1執(zhí)行的代碼塊
elif 條件1-2:
滿足條件1-2執(zhí)行的代碼塊
else:
都不滿足執(zhí)行的代碼塊
elif 條件2:
滿足條件2執(zhí)行的代碼塊
elif 條件3:
滿足條件1執(zhí)行的代碼塊
舉例
age = 19
if age < 17:
print('我小于17')
elif age > 18 & age < 20:
if age == 19:
print('我是19')
elif age == 20:
print('我是20')
else:
print('我不知道!')
三鸠按、循環(huán)控制while
循環(huán)控制是什么呢礼搁?
循環(huán)控制就是我們每天都要循環(huán)不斷的去搬磚!一直做同一件事情目尖。
while
是一個(gè)條件循環(huán)語句馒吴,與 if 一樣,他也有條件表達(dá)式
瑟曲。如果條件為真
饮戳,while中的代碼就會一直循環(huán)執(zhí)行
,直到循環(huán)條件不再為真才停止洞拨。
語法:
while 條件:
代碼塊
舉例
計(jì)算 1 * 2 * 3 ··· *5的大小
# 計(jì)算1 * 2 * 3 ··· *5的大小
i = 1
sum = 1
while i <= 5:
sum *= i
i = i + 1
print(sum)
print(sum)
while循環(huán)嵌套
while中也可以嵌套while循環(huán)扯罐。
語法:
while 條件1:
滿足條件1執(zhí)行代碼塊1
while 條件2:
滿足條件1又滿足條件2執(zhí)行代碼塊2
舉例
輸出一個(gè)用三角形構(gòu)成的直角三角形
# 輸出一個(gè)用三角形構(gòu)成的直角三角形
i = 1
j = 1
while i <= 5:
while j <= 5:
print('△' * j)
j = j + 1
i = i + 1
while循環(huán)使用else語句
while 條件:
滿足條件執(zhí)行代碼塊
else:
不滿足條件執(zhí)行代碼塊
舉例
i = 5
while i > 5:
print('yes')
else:
print('No')
break 、pass 和 continue
在 while 和 for 循環(huán)的使用中烦衣,我們需要注意歹河,經(jīng)常會使用到 break 和 continue 這兩個(gè)關(guān)鍵字。
break
在循環(huán)語句中使用break的作用是花吟,在循環(huán)體內(nèi)遇到 break 則會跳出循環(huán)秸歧,終止循環(huán),并且不論循環(huán)的條件是否為真衅澈,都不再繼續(xù)循環(huán)下去键菱。
i = 1
while i <= 5:
print(i)
if i == 3:
break
i = i + 1
continue
退出當(dāng)前循環(huán),再繼續(xù)執(zhí)行下一次循環(huán)今布。
i = 0
while i <= 5:
i = i + 1
if i == 3:
continue
print(i)
如圖经备,當(dāng)執(zhí)行到 3 的時(shí)候拭抬,是不會執(zhí)行的,但是后面的還是會接著執(zhí)行侵蒙。
pass
這個(gè)關(guān)鍵字在 python 的這門語言中是獨(dú)有的玖喘。它的作用主要是:
- pass語句的使用表示不希望任何代碼或者命令的執(zhí)行;
- pass語句是一個(gè)空操作蘑志,在執(zhí)行的時(shí)候不會產(chǎn)生任何反應(yīng);
- pass語句常出現(xiàn)在if贬派、while急但、for等各種判斷或者循環(huán)語句中;
四搞乏、for 循環(huán)控制
for 是 Python 中另外一個(gè)循環(huán)語句波桩,其作用和 while 是類似的,提供了Python中最強(qiáng)大的循環(huán)結(jié)構(gòu)请敦,它可以循環(huán)遍歷任何序列項(xiàng)目镐躲,如一個(gè)列表或者一個(gè)字符串。
語法
for <variable> in <sequence>:
<statements>
else:
<statements>
舉例
# 創(chuàng)建一個(gè)元祖
tuple1 = ('歐陽思海', 18, 'wuhan', 1.75)
for item in tuple1:
print(item)
for 循環(huán)的其他用法和 while 類似侍筛,可以參照 while 舉一反三萤皂。
range函數(shù)用法
由于在循環(huán)中經(jīng)常會用到 range 這個(gè)函數(shù),所以匣椰,在這里就先介紹一下裆熙。
語法
range(start, stop[, step])
- start: 計(jì)數(shù)從 start 開始。默認(rèn)是從 0 開始禽笑。例如range(4)等價(jià)于range(0入录,4);
- end: 計(jì)數(shù)到 end 結(jié)束,但不包括 end佳镜。例如:range(0僚稿, 4) 是[0, 1, 2, 3, 4]沒有4
- step:步長,默認(rèn)為1蟀伸。例如:range(0蚀同, 4) 等價(jià)于 range(0, 4, 1)
舉例
list(range(10)) # 從 0 開始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(1, 15)) # 從 1 開始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10···15]
list(range(0, 60, 5)) # 步長為 5 [0, 5, 10, 15, 20, 25···60]
list(range(0, 10, 3)) # 步長為 3 [0, 3, 6, 9]
list(range(-10, 0, 2)) # 負(fù)數(shù) [-10, -8, -6, -4, -2]
list(range(50, 0))
# 在循環(huán)中使用
for i in range(10):
print(i)