python中的迴圈

2021-10-04 11:05:21 字數 3645 閱讀 3368

用來重複執行一條或多條語句。

表達邏輯:如果符合條件,則反覆執行迴圈體裡的語句,每次執行完都判斷一次條件是否為true,如果為true則重複執行迴圈體內的語句。

句式: while 條件表示式:

迴圈體語句

例:

num=

0while num<=10:

print

(num)

num+=

1

通常用於可迭代物件的遍歷

語法格式:

for 變數 in 可迭代物件:

for x in(20

,30,40

):print

(x)#遍歷乙個元組

for y in

'address'

:print

(y)#遍歷乙個字串

d=for x in d:

#遍歷字典所有key

for x in d.keys:

#遍歷字典所有key

for x in d.values:

#遍歷字典所有值

for x in d.items:

#遍歷所有鍵值對

乙個迴圈體內可以嵌入另乙個迴圈

for x in

range(5

):for y in

range(5

):print

(x,end=

"\t"

)print()

#起到換行的作用

使用巢狀迴圈列印九九乘法表:

for m in

range(1

,10):

for n in

range(1

,m+1):

print

('*='

.format

(m,n,

(m*n)

),end=

"\t"

)print

()

zip()並行迭代:

zip()函式對多個序列進行並行迭代

names=

('marry'

,'charry'

,'betty'

)ages=(18

,20,22

)jobs=

('witch'

,'saber'

,'archer'

)for name,age,job in

zip(names,ages,jobs)

:print

("----"

.format

(name,age,job)

迴圈**優化技巧:

1.儘量減少迴圈內部不必要的計算

2.巢狀迴圈中,儘量減少內層迴圈的計算

3.區域性變數查詢較快,盡量使用區域性變數

break語句:用於while和for迴圈,用來結束整個迴圈,有巢狀迴圈時,break只能跳出最近一層的迴圈。

while

true

: a =

input

('請輸入乙個字元,輸入q或q退出:'

)if a.upper()==

'q':

#轉換成大寫

print

('迴圈結束,退出'

)break

else

:print

(a)

"""輸入員工工資,列印出錄入員工的數量,薪資明細和平均薪資"""

empnum=

0salarysum=

0salarys=

#列表while

true

: s =

input

('請輸入員工的薪資(按q或q結束):'

)if s.upper()==

'q':

print

('錄入完成,退出'

)break

iffloat

(s)<0:

continue

empnum+=

1float

(s))

salarysum+=

float

(s)print

('員工數'

.format

(empnum)

)print

('錄入工資:'

,salarys)

print

('平均工資:'

.format

(salarysum/empnum)

)

else語句:while,for迴圈可以附帶乙個else,如果迴圈沒有被break結束,則會執行else語句。

格式:while 條件表示式:

迴圈體else:

語句塊

"""限制錄入人數為4"""

salarysum =

0salarys=

for i in

range(4

):s=

input

("請輸入一共4名員工的工資(按q或q結束)"

)if s.upper()==

'q':

print

('錄入完成,退出')if

float

(s)<0:

continue

float

(s))

salarysum+=

float

(s)else

:print

('您已錄入全部員工薪資'

)print

('錄入薪資:'

,salarys)

print

('平均薪資:'

.format

(salarysum/4)

)

推導式:從乙個或多個迭代器快速建立序列,將迴圈和條件判斷結合,避免冗長**。

1.列表推導式

語法:[表示式 for item in 可迭代物件]

或[表示式 for item in 可迭代物件 if 條件判斷]

a=

[x for x in

range(1

,5)]

b=[(m,n)

for m in

range(5

)for n in

range(5

)]

2.字典推導式

格式:

"""計算字串中每個字元出現的次數"""

my_text=

'i like u to be still'

char_count=

print

(char_count)

3.集合推導式

格式:

y=

print

(y)

4.生成器推導式

生成的是元組,乙個生成器推導式只能執行一次

gnt=

(x for x in

range(1

,100

)if x%9==

0)

python中的for迴圈

一 for迴圈概要 for迴圈是乙個通用序列迭代器,可遍歷任何有序的序列物件內的元素,包括字串 列表 元組 其他內建可迭代物件。一般格式 for in if break if continue else 二 for迴圈應用舉例 1 遍歷序列元素 for x in spam eggs ham prin...

python中的迴圈

一 while迴圈 語法 while condition block 當條件滿足,即condition為ture,進入迴圈體,執行block 例 flag 10 while flag print flag flag 1其執行結果為 1098 7654 321解釋 首先flag為10,在conditi...

Python中的for迴圈

格式 for 變數 in 可迭代物件 迴圈體語句 操作 for x in 10 20,30 元組迴圈 print x 3 30 6090 for y in abcdefg 字串 print y ab cdef g 遍歷字典 for x in d print x 直接遍歷顯示的是鍵 name agej...