Python流程控制是Python編程中非常重要的一部分,它用于控制程序的執(zhí)行流程。Python提供了多種流程控制語(yǔ)句,包括if語(yǔ)句、while循環(huán)、for循環(huán)、break和continue語(yǔ)句等。這種流程控制在各個(gè)語(yǔ)言中都是大同小異的,如果你已經(jīng)學(xué)過(guò)其他的語(yǔ)言,那么這章節(jié)就可以直接跳過(guò)。
if語(yǔ)句
if語(yǔ)句用于根據(jù)條件執(zhí)行不同的代碼塊。condition
是一個(gè)布爾表達(dá)式,后面一定要加冒號(hào),這是python語(yǔ)法規(guī)定。if語(yǔ)句后面的條件表達(dá)式是可以加括號(hào)的,但并不是必須的。使用括號(hào)可以使代碼更加清晰易讀,特別是在復(fù)雜的條件表達(dá)式中。然而,括號(hào)并不是語(yǔ)法要求,可以根據(jù)個(gè)人編碼風(fēng)格和團(tuán)隊(duì)約定進(jìn)行選擇。
if condition:
# code to be executed if condition is True
else:
# code to be executed if condition is False
下面的代碼演示了如何使用if語(yǔ)句來(lái)判斷一個(gè)數(shù)是否為正數(shù):
num = int(input("請(qǐng)輸入一個(gè)整數(shù):"))
if num > 0:
print("輸入的數(shù)是正數(shù)")
else:
print("輸入的數(shù)不是正數(shù)")
else if語(yǔ)句
else if語(yǔ)句用于在if語(yǔ)句之后添加多個(gè)條件分支,使用方式和if語(yǔ)句是一樣的。另外需要注意的是最后的else語(yǔ)句是直接在else后面加冒號(hào)的,應(yīng)該后面已經(jīng)沒(méi)有判斷條件了。
if condition1:
# code to be executed if condition1 is True
elif condition2:
# code to be executed if condition1 is False and condition2 is True
else:
# code to be executed if condition1 and condition2 are False
condition1
和condition2
是兩個(gè)布爾表達(dá)式,如果它們的值為T(mén)rue,則執(zhí)行相應(yīng)的代碼塊;否則執(zhí)行else語(yǔ)句中的代碼塊。下面的代碼演示了如何使用else if語(yǔ)句來(lái)判斷一個(gè)數(shù)是否為偶數(shù):
num = int(input("請(qǐng)輸入大于0的數(shù):"))
if num > 0:
print("輸入的數(shù)大于0")
else if num < 0:
print("輸入的數(shù)小于0")
else:
print("輸入的數(shù)等于0")
for循環(huán)
for循環(huán)用于遍歷一個(gè)序列(如列表、元組或字符串)中的元素。它的語(yǔ)法如下:
for element in sequence:
# code to be executed for each element in sequence
其中,element
是當(dāng)前遍歷到的序列元素的值,sequence
是一個(gè)序列(如列表、元組或字符串)。循環(huán)體內(nèi)的代碼塊可以包含任意Python語(yǔ)句。在每次循環(huán)迭代中,element
的值都會(huì)被更新為下一個(gè)序列元素的值。
遍歷類(lèi)型
for循環(huán)是可以用于遍歷各種序列,主要有列表、元組、字符串、字典等。
- 遍歷列表:
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
print(fruit)
- 遍歷元組:
numbers = (1, 2, 3, 4, 5)
for num in numbers:
print(num)
- 遍歷字符串:
word = "Python"
for char in word:
print(char)
- 遍歷字典的鍵:
ages = {"John": 25, "Alice": 28, "Bob": 30}
for name in ages:
print(name)
range關(guān)鍵字
以上是for循環(huán)遍歷列表元組相關(guān)操作,有時(shí)候我們又需要遍歷序列,這時(shí)候就需要range
關(guān)鍵字了。在 Python中,range()
是一個(gè)內(nèi)置函數(shù),用于生成一個(gè)整數(shù)序列。它可以通過(guò)指定起始值、結(jié)束值和步長(zhǎng)來(lái)生成相應(yīng)的序列。
range()
函數(shù)的語(yǔ)法如下:
range(stop)
range(start, stop)
range(start, stop, step)
參數(shù)說(shuō)明:
-
start
(可選):起始值,默認(rèn)為 0。 -
stop
:結(jié)束值,生成的序列不包括該值。 -
step
(可選):步長(zhǎng),默認(rèn)為 1。
range()
函數(shù)返回的是一個(gè)可迭代對(duì)象,通常與 for 循環(huán)結(jié)合使用。當(dāng)只傳遞一個(gè)參數(shù)時(shí),默認(rèn)是作為結(jié)束值;當(dāng)傳遞兩個(gè)參數(shù)時(shí),第一個(gè)參數(shù)作為起始值,第二個(gè)參數(shù)作為結(jié)束值;當(dāng)傳遞三個(gè)參數(shù)時(shí),第一個(gè)參數(shù)作為起始值,第二個(gè)參數(shù)作為結(jié)束值,第三個(gè)參數(shù)作為步長(zhǎng)。
以下是一些使用 range()
函數(shù)的示例:
# 生成 0 至 4 的整數(shù)序列
numbers1 = range(5)
print(list(numbers1)) # [0, 1, 2, 3, 4]
# 生成 1 至 10 的整數(shù)序列
numbers2 = range(1, 11)
print(list(numbers2)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 生成 0 至 10 的偶數(shù)序列
numbers3 = range(0, 11, 2)
print(list(numbers3)) # [0, 2, 4, 6, 8, 10]
for element in range(start, stop, step):
# 在此處執(zhí)行循環(huán)體語(yǔ)句
需要注意的是,range()
函數(shù)生成的是惰性序列(lazy sequence),它并不會(huì)一次性地將所有的值都存儲(chǔ)在內(nèi)存中,而是在需要的時(shí)候才生成新的值。如果想要立即獲取包含所有整數(shù)的列表,可以使用 list(range(start, stop, step))
的方式進(jìn)行轉(zhuǎn)換。
# 遍歷 1 至 10 的整數(shù),步長(zhǎng)為 1
for num in range(1, 11, 1):
print(num)
# 遍歷 0 至 10 的偶數(shù),步長(zhǎng)為 2
for num in range(0, 11, 2):
print(num)
# 遍歷 10 至 1 的整數(shù),步長(zhǎng)為 -1
for num in range(10, 0, -1):
print(num)
while循環(huán)
while循環(huán)用于重復(fù)執(zhí)行一段代碼,直到滿(mǎn)足某個(gè)條件為止。它的語(yǔ)法如下:
while condition:
# code to be executed repeatedly until condition is False
condition
是一個(gè)布爾表達(dá)式,如果它的值為T(mén)rue,則執(zhí)行循環(huán)體內(nèi)的代碼塊;否則跳出循環(huán)。循環(huán)體內(nèi)的代碼塊可以包含任意Python語(yǔ)句。
下面的代碼演示了如何使用while循環(huán)來(lái)計(jì)算1到100的和:
total = 0
i = 1
while i <= 100:
total += i
i += 1
print("1到100的和為:", total)
注意,在while循環(huán)中,一定要確保在循環(huán)體中更新循環(huán)條件的值,以避免無(wú)限循環(huán)的情況發(fā)生。如果條件永遠(yuǎn)為真,會(huì)導(dǎo)致代碼陷入無(wú)限循環(huán)的狀態(tài),程序無(wú)法繼續(xù)向下執(zhí)行。
為了避免無(wú)限循環(huán),可以在循環(huán)體內(nèi)使用適當(dāng)?shù)臈l件控制語(yǔ)句(如break)來(lái)跳出循環(huán),或者在外部設(shè)定一個(gè)計(jì)數(shù)器,并確保在合適的時(shí)機(jī)更新計(jì)數(shù)器的值。
break語(yǔ)句
break
是一種控制流語(yǔ)句,在循環(huán)中使用它可以立即終止循環(huán)并跳出循環(huán)體,進(jìn)而執(zhí)行循環(huán)外的下一條語(yǔ)句。當(dāng) break
語(yǔ)句被執(zhí)行時(shí),程序?qū)?huì)跳出循環(huán),繼續(xù)執(zhí)行循環(huán)后面的代碼。它可以用于 while
循環(huán)、for
循環(huán)等循環(huán)結(jié)構(gòu)。
fruits = ["apple", "banana", "cherry", "date"]
for fruit in fruits:
if fruit == "cherry":
break
print(fruit)
print("Loop ends")
輸出結(jié)果為:
apple
banana
Loop ends
在上面的示例中,當(dāng)循環(huán)遍歷到 "cherry"
時(shí),滿(mǎn)足條件 fruit == "cherry"
,break
被執(zhí)行,立即終止了循環(huán)。因此,后續(xù)的 "date"
不會(huì)被輸出。
使用 break
語(yǔ)句可以在滿(mǎn)足特定條件時(shí),提前退出循環(huán),從而減少不必要的迭代。在某些情況下,特定條件的出現(xiàn)可能會(huì)導(dǎo)致循環(huán)無(wú)需執(zhí)行其余部分,這時(shí)可以利用 break
來(lái)提前終止循環(huán),節(jié)省計(jì)算資源。
continue語(yǔ)句
在Python中,continue
語(yǔ)句用于跳過(guò)當(dāng)前循環(huán)中的剩余代碼,并繼續(xù)執(zhí)行下一次循環(huán)。當(dāng)continue
語(yǔ)句被執(zhí)行時(shí),程序?qū)⒘⒓刺D(zhuǎn)到循環(huán)的開(kāi)頭,而不執(zhí)行continue
語(yǔ)句之后的代碼。它通常用于條件判斷內(nèi)部,用來(lái)控制循環(huán)的執(zhí)行流程。
for i in range(1, 11):
if i % 2 == 1:
continue
print(i)
上述代碼將輸出偶數(shù)的數(shù)字,而跳過(guò)了奇數(shù)。輸出結(jié)果如下:
2
4
6
8
10
在上述示例中,循環(huán)從1到10,當(dāng)遇到奇數(shù)時(shí),continue
語(yǔ)句將會(huì)跳過(guò)print(i)
的執(zhí)行,直接進(jìn)入下一次循環(huán),從而實(shí)現(xiàn)了只輸出偶數(shù)的效果。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-711461.html
需要注意的是,continue
語(yǔ)句只會(huì)跳過(guò)當(dāng)前循環(huán)內(nèi)部的剩余代碼,不會(huì)終止整個(gè)循環(huán)。如果要徹底終止循環(huán),可以使用break
語(yǔ)句。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-711461.html
到了這里,關(guān)于Python教程(15)——Python流程控制語(yǔ)句詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!