一 while迴圈
語法:
while condition:
block
當條件滿足,即condition為ture,進入迴圈體,執行block
例:
flag = 10
while flag:
print(flag)
flag -= 1
其執行結果為
1098解釋:首先flag為10,在condition中為10,condition is ture, 則執行block,隨後,flag-1,變為9了,condition is true,列印,隨後迴圈此條件,直到condition is ****ese,終止迴圈,即flag=0的時候,while flag則不進入迴圈7654
321
下面思考若是flag=-10是怎樣的?
flag=-10
while flag:
print(flag)
flag += 1
此時為-10了,執行結果+1,才不會進入死迴圈.
二* for 迴圈
語法:for element in iteratable:
block
當迭代物件中有元素可以迭代,進入迴圈體,執行block
iteratable:可迭代的
例:
for i in range(10):
print(i)
列印了1~10 理解可迭代物件為0之後,則迴圈終止了
考慮為什麼,如果倒序列印要怎麼列印?
倒序列印我的方法是包含乘法的,不太好,如下
if i in range(10):
print((i-10)*(-1))
了解下面的意思:
if i in range(5):
print('welcome')
在這裡面沒有引用i,而是用的'welcome' ,這表示i只是記個數嘛
下面是倒序列印簡單的方法:
for i in range(10,0,-1):
print(i)
讓其步跳為-1,列印10-0出來
迴圈中的continue語句:終端當前迴圈的當次執行,繼續下一次迴圈.
例:計算十以內的偶數
方法一
for i in range(0,11,2):
print(i)
方法二
for i in range(10):
if not i%2:
print(i)
雙重否定表示肯定, if not i%2 ,眾所周知,if後面的condition需要為true方才執行,當對把i除以2取餘數的時候,餘數為0,則表示i為偶數,但if後為0表示****se, if不執行,所以在i的後面加not表示不是0,反之亦然.
方法三 利用continue
for i in rang(10):
if i%2:
continue
else:
print(i)
解釋:讓前者執行的block全部不列印,列印剩下的,前面列印出來的是奇數
可以更精簡一點
for i in range(10):
if i%2:
continue
print(i)
其他方法:
for i in range(10):
if i&0x01:
continue
print(i)
此方法為按位與,用1和符合條件的其他任何數字按位相與,篩選奇偶只需要末位相與,和1末位相與後,列印出來的為奇數,故continue,直接列印偶數,這種方法在計算機中運算速度很快.
可精簡為:
for i in range (10):
if i & 1:
continue
print(i)
迴圈中的break語句:終止當前迴圈
例:計算1000以內的能被7整除的前20個數;
count = 0
for i in range(0,1000,7):
print(i)
count += 1
if count >= 20:
break
總結:1. continue和break是迴圈的控制語句,只影響當前迴圈,包括if和while迴圈.
2. 如果迴圈巢狀,continue和break也只影響語句所在的那一層.
3.continue和break不是跳出語句塊,所以if condition: break不是跳出if,而是終止if外的break所在的迴圈.
python中的for迴圈
一 for迴圈概要 for迴圈是乙個通用序列迭代器,可遍歷任何有序的序列物件內的元素,包括字串 列表 元組 其他內建可迭代物件。一般格式 for in if break if continue else 二 for迴圈應用舉例 1 遍歷序列元素 for x in spam eggs ham prin...
python中的迴圈
用來重複執行一條或多條語句。表達邏輯 如果符合條件,則反覆執行迴圈體裡的語句,每次執行完都判斷一次條件是否為true,如果為true則重複執行迴圈體內的語句。句式 while 條件表示式 迴圈體語句 例 num 0while num 10 print num num 1通常用於可迭代物件的遍歷 語法...
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...