Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對(duì)象和類

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python for 循環(huán)

Python for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。

什么是Python中的for循環(huán)?

Python中的for循環(huán)用于迭代序列(listtuple,string)或其他可迭代對(duì)象。在序列上進(jìn)行迭代稱為遍歷。

for循環(huán)的語(yǔ)法

for val in sequence:
	Body of for

在此,val是在每次迭代中獲取序列內(nèi)項(xiàng)目值的變量。

循環(huán)繼續(xù)直到我們到達(dá)序列中的最后一項(xiàng)。使用縮進(jìn)將for循環(huán)的主體與其余代碼分開。

for循環(huán)流程圖

Python編程中的for Loop流程圖
Python中for循環(huán)的流程圖

示例:Python for循環(huán)

#程序查找列表中存儲(chǔ)的所有數(shù)字的總和
#數(shù)字清單

numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]

# 用于存儲(chǔ)總和的變量
sum = 0

# 遍歷列表
for val in numbers:
    sum = sum+val

print("總和是", sum)

當(dāng)您運(yùn)行程序時(shí),輸出將是:

總和是 48

range()函數(shù)

我們可以使用range()函數(shù)生成數(shù)字序列。range(10)會(huì)產(chǎn)生0到9之間的數(shù)字(10個(gè)數(shù)字)。

我們還可以將開始,停止和步長(zhǎng)定義為range(start, stop,step_size)。如果未提供,則step_size默認(rèn)為1。

range對(duì)象在某種意義上是“惰性的”,因?yàn)樗粫?huì)在我們創(chuàng)建它時(shí)生成它“包含”的所有數(shù)字。但是它不是迭代器,它支持in、len和getitem操作。

此函數(shù)不將所有值存儲(chǔ)在內(nèi)存中;這將是低效的。因此,它會(huì)記住開始、停止、步長(zhǎng),并在運(yùn)行中生成下一個(gè)數(shù)字。

要強(qiáng)制此函數(shù)輸出所有項(xiàng)目,可以使用函數(shù)list()。

以下示例將演示了這一點(diǎn)。

print(range(10))

print(list(range(10)))

print(list(range(2, 8)))

print(list(range(2, 20, 3)))

輸出結(jié)果

range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]

我們可以在for循環(huán)中使用 range() 函數(shù)來迭代數(shù)字序列。它可以與len()函數(shù)結(jié)合使用索引來遍歷序列。這是一個(gè)示例。

# 使用索引遍歷列表的程序

genre = ['pop', 'rock', 'jazz']

# 使用索引遍歷列表
for i in range(len(genre)):
    print("I like", genre[i])

運(yùn)行該程序時(shí),輸出為:

I like pop
I like rock
I like jazz

帶有else的循環(huán)

for循環(huán)也可以有一個(gè)可選的else塊。

如果for循環(huán)中使用的序列中的項(xiàng)耗盡,則執(zhí)行else部分。

break關(guān)鍵字可用于停止for循環(huán)。在這種情況下,else部分將被忽略。

因此,如果沒有發(fā)生中斷,則運(yùn)行for循環(huán)的else部分。

這是一個(gè)示例來說明這一點(diǎn)。

digits = [0, 1, 5]

for i in digits:
    print(i)
else:
    print("沒有剩余的項(xiàng)目.")

運(yùn)行該程序時(shí),輸出為:

0
1
5
沒有剩余的項(xiàng)目.

在這里,for循環(huán)將打印列表中的項(xiàng)目,直到循環(huán)用盡。當(dāng)for循環(huán)用盡時(shí),它執(zhí)行else代碼塊并輸出 "沒有剩余的項(xiàng)目"。

for...else語(yǔ)句可與break關(guān)鍵字一起使用,以便僅在未執(zhí)行break關(guān)鍵字時(shí)運(yùn)行else塊。讓我們舉個(gè)示例:

# 顯示記錄中學(xué)生成績(jī)的程序
student_name = 'Soyuj'

marks = {'James': 90, 'Jules': 55, 'Arthur': 77}

for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('沒有找到該名稱的條目.')

輸出結(jié)果

沒有找到該名稱的條目.
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清