前言
循環(huán)可能是每個(gè)編程語言中使用比較多的語法了,如果能合理利用好循環(huán),就會(huì)出現(xiàn)意想不到的結(jié)果,大大地減少代碼量,讓機(jī)器做那些簡(jiǎn)單枯燥的循環(huán)過程,今天我將為大家分享 python 中的循環(huán)語法使用。??????
while循環(huán)
while 條件:
需要循環(huán)執(zhí)行的代碼1
需要循環(huán)執(zhí)行的代碼2
當(dāng)然,循環(huán)也不能無止盡的進(jìn)行下去,所以通常需要使用計(jì)數(shù)器來限制循環(huán)次數(shù),防止無限循環(huán)下去。
# 打印五次我愛python
i = 0 # 計(jì)數(shù)器
while i < 5:
print('我愛python!')
i += 1 # 計(jì)數(shù)器需要不斷變化,否則也會(huì)陷入死循環(huán)
?????計(jì)算1-100 的和
# 計(jì)算1-100 的和
i = 1
sum = 0 # sum 存放1-100的和
while i <= 100:
sum += i
i += 1
print(sum)
就像這樣,如果有我們?nèi)藖硭愕脑?,可能需要一點(diǎn)時(shí)間,但是計(jì)算機(jī)卻能很快給出結(jié)果,我們可以把這些平淡枯燥重復(fù)的工作交給計(jì)算機(jī)來實(shí)現(xiàn),這樣就極大的節(jié)省了人力。
??計(jì)算1-100 之間3的倍數(shù)的和
# 計(jì)算1-100 之間3的倍數(shù)的和
i = 1
sum = 0
while i <= 100:
if i % 3 == 0:
sum += i
i += 1
print(sum)
break
break 通常在循環(huán)中使用,用來跳出循環(huán),執(zhí)行循環(huán)體后面的代碼
i = 1
while i <= 10:
if i == 5: # 當(dāng)i==5時(shí)跳出循環(huán)
break
print(i)
i += 1
print('代碼塊1')
continue
continue 結(jié)束本次循環(huán),回到 while 的判斷部分,繼續(xù)執(zhí)行循環(huán)
i = 1
while i <= 10:
if i == 5:
i += 1 # 這里一定要改變計(jì)數(shù)器,否則會(huì)陷入死循環(huán)
continue
print(i)
i += 1
i = 1
while i <= 10:
if i == 5:
continue # 當(dāng)i==5的時(shí)候,循環(huán)體后面的代碼都不會(huì)執(zhí)行,所以i一直等于5,陷入死循環(huán)
print(i)
i += 1
while 循環(huán)嵌套
循環(huán)也是可以實(shí)現(xiàn)嵌套的,意思是執(zhí)行m次循環(huán),每次循環(huán)再執(zhí)行n次循環(huán),總共就是m*n次循環(huán)
while 條件1:
循環(huán)執(zhí)行語句1
while 條件2:
循環(huán)執(zhí)行語句2
i = 1
while i < 5: # 控制行數(shù)
j = 1
while j <= i: # 控制列數(shù)
print(j,end=' ')
j += 1
print() # 換行
i += 1
這里注意,因?yàn)?print函數(shù) 的結(jié)束標(biāo)志是 ‘\n’,會(huì)導(dǎo)致輸出一個(gè)數(shù)就換行,并不能得到我們想要的結(jié)果,所以我們改變 print函數(shù) 的結(jié)束符號(hào)。
??九九乘法表
我們運(yùn)用 while 嵌套 來實(shí)現(xiàn)一個(gè)九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print(f'{i} * {j} = {i * j}',end='\t')
j += 1
print()
i += 1
for循環(huán)
for 臨時(shí)變量 in 序列:
循環(huán)執(zhí)行的代碼
python 中序列有這幾種:字符串(str)、列表(list)、元組(tuple)和范圍(range)。
message = 'abcdef'
for ch in message:
print(ch)
當(dāng)然 for循環(huán) 也可搭配著 break 和 continue 使用。
message = 'abcdef'
for ch in message:
if ch == 'd':
break;
print(ch)
message = 'abcdef'
for ch in message:
if ch == 'd':
continue
print(ch)
else
while循環(huán) 和 for循環(huán) 可以搭配著 else 使用,else 里面的代碼只有循環(huán)是正常結(jié)束的時(shí)候才會(huì)執(zhí)行。
那么什么叫做循環(huán)正常執(zhí)行結(jié)束呢?我們都知道循環(huán)可以搭配著 break 和 continue 使用,當(dāng)循環(huán)是因?yàn)?break 而結(jié)束的時(shí)候,屬于不正常執(zhí)行循環(huán)結(jié)束,continue 會(huì)被認(rèn)為是正常執(zhí)行完循環(huán)。
i = 1
while i <= 5:
if i == 3:
break
print(i)
i += 1
else:
print('循環(huán)正常結(jié)束')
break 會(huì)直接跳出循環(huán),所以被認(rèn)為是不正常結(jié)束循環(huán)。文章來源:http://www.zghlxwxcb.cn/news/detail-508713.html
i = 1
while i <= 5:
if i == 3:
i += 1
continue
print(i)
i += 1
else:
print('循環(huán)正常結(jié)束')
continue 只是結(jié)束本次循環(huán),繼續(xù)執(zhí)行下次循環(huán),屬于正常結(jié)束循環(huán)。文章來源地址http://www.zghlxwxcb.cn/news/detail-508713.html
到了這里,關(guān)于【玩轉(zhuǎn)循環(huán)】探索Python中的無限可能性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!