用來重複執行一條或多條語句。
表達邏輯:如果符合條件,則反覆執行迴圈體裡的語句,每次執行完都判斷一次條件是否為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...