python教程:循环(while和for)
一.循環簡介:
循環的作用:讓代碼更高效的重復執行
分類:while和for兩種,最終實現的效果相同
二.while的語法:
while 條件:條件成立重復執行的代碼1條件成立重復執行的代碼2.....................................快速體驗:
-
需求:復現重復執行100次print(‘媳婦,我錯了’),為了輸出簡介,這里輸出5次
-
分析:初始值是0,重點是5次,重復做的事情是輸出‘媳婦我錯了’。
三.while的應用
應用一:計算1–100累加和
分析:1-100的累加和,即1+2+3+4....,即前兩個數字的相加結果+下一個數字(前一個數字+1)
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' i = 1 result = 0 while i <= 100:result += ii += 1 print(result)為了驗證程序的準確性,可以先改小數值,驗證結果正確后,再改成1-100做累加。
應用二:計算1–100偶數累加和
分析:1-100的偶數和,即2+4+6+8…得到偶數的方法如下:
-
偶數即是和2取余結果為0的數字,可以加入條件語句判斷是否為偶數,為偶數則累加
-
初始值0/2,計數器每次累加2
方法一:條件判斷和2取余數則累加
#方法一:條件判斷和2取余數為0則累加計算 i = 0 result = 0 while i <= 100:if i % 2 == 0:result += ii += 1 #輸出2550 print(result)方法二:計數器控制
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' i = 0 result = 0 while i <= 100:result += ii += 2 #輸出2550 print(result)四.break和continue
break和continue是循環中滿足一定條件退出循環的兩種不同方式
理解:break是終止次循環,continue退出當前循環而執行下一個循環
情況一:break
i = 1 while i <= 5:if i == 4:print(f'吃飽了不吃了')breakprint(f'吃了第{i}個蘋果')i += 1結果如圖所示:
情況二:continue
五.while循環嵌套
語法:
while 條件1:條件1成?立執?行行的代碼......while 條件2:條件2成?立執?行行的代碼......總結:所謂while循環嵌套,就是一個while里面嵌套一個while的寫法,每個while和之前的基礎語法是相同的。
j = 0 while j < 3:i = 0while i < 3:print('媳婦兒,我錯了')i += 1print('刷晚飯的碗')print('一套懲罰結束----------------------')j += 1執行結果:
理解執行流程:
六.while循環嵌套應用
應用一:打印星號(正方形)
需求
********* ********* ********* ********* ********* *********代碼:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 重復打印5?行行星星 j = 0 while j <= 4:# ?一?行行星星的打印i = 0while i <= 4:# ?一?行行內的星星不不能換?行行,取消print默認結束符\nprint('*', end='')i += 1# 每?行行結束要換?行行,這?里里借助?一個空的print,利利?用print默認結束符換?行行print()j += 1應用二:打印星號(三角形)
需求
* ** *** **** *****代碼:
分析:?行輸出星星的個數和?號是相等的,每?:重復打印行號數字個星號,將打印行星號的命令重
復執?5次實現打印5?。
九九乘法表
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 重復打印9?行行表達式 j = 1 while j <= 9:# 打印?行?面的表達式 a * b = a*bi = 1while i <= j:print(f'{i}*{j}={j*i}', end='\t')i += 1print()j += 1七.for循環
語法:
for 臨時變量 in 序列列:重復執行的代碼1重復執行的代碼2......快速體驗:
str1 = 'qwertyui' for i in str1:print(i)執行結果:
Break
執行結果:
continue
執行結果:
八.else
循環可以和else配合使?用,else下方縮進的代碼指的是當循環正常結束之后要執行的代碼
1.while …else
語法:
while 條件:條件成?立重復執?的代碼 else:循環正常結束之后要執?的代碼示例:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' i = 1 while i <= 5:print('媳婦?,我錯了了')i += 1 else:print('媳婦原諒我了,真開心,哈哈哈哈')執行結果:
2.退出循環的方式
break
i = 1 while i <= 5:if i == 3:print('這遍說的不真誠')breakprint('媳婦兒,我錯了')i += 1 else:print('媳婦原諒我了,真開心,哈哈哈哈')執行結果:
所謂else指的是循環正常結束之后要執行的代碼,即如果是break終?循環的情況,else下方縮進
的代碼將不執行。
continue
i = 1 while i <= 5:if i == 3:print('這遍說的不真誠')i += 1continueprint('媳婦兒,我錯了')i += 1 else:print('媳婦原諒我了,真開心,哈哈哈哈')執行結果:
因為continue是退出當前一次循環,繼續下一次循環,所以該循環在continue控制下是可以正常
結束的,當循環結束后,則執?了else縮進的代碼。
2.for…else
語法
for 臨時變量 in 序列:重復執?的代碼... else:循環正常結束之后要執?的代碼所謂else指的是循環正常結束之后要執行的代碼,即如果是break終?循環的情況,else下方縮進
的代碼將不執行。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' str1 = 'qwertyui' for i in str1:if i == 't':print('遇到t不打印')breakprint(i) else:print('循環正常結束之后執行的代碼')執行結果:
沒有執行else縮進的代碼
continue控制循環
str1 = 'qwertyui' for i in str1:if i == 't':print('遇到t不打印')continueprint(i) else:print('循環正常結束之后執行的代碼')執行結果:
因為continue是退出當前一次循環,繼續下一次循環,所以該循環在continue控制下是可以正常
結束的,當循環結束后,則執?了else縮進的代碼。
# 重復打印5?星星 # j表示行號 j = 0 while j <= 4: # 一?星星的打印i = 0 # i表示每?行行?面星星的個數,這個數字要和行號相等所以i要和j聯動while i <= j:print('*', end='')i += 1print()j += 1總結
以上是生活随笔為你收集整理的python教程:循环(while和for)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 特殊成员和魔法方法
- 下一篇: Python的itertools.pro