while循環和for循環


•了解循環

•while語法【重點】

•while應用

•break和continue

•while循環嵌套【重點】

•while循環嵌套應用【難點】

•for循環

一.循環簡介 

1.1循環的作用

循環的作用:讓代碼更高效的重復執行。

 

1.2 循環的分類

在python中,循環分為while和for兩種,最終實現效果相同。

 

二.while的語法

while 條件:

       條件成立重復執行的代碼1

       條件成立重復執行的代碼2

       ......

具體操作如下:

 

 

2.1 計算器書寫習慣

#循環的計數器

i=0

while i < 5:

       print('我錯了')

       i +=1

 

 

 

 

 

三.while的應用

 

3.1 應用一:計算1-100累加和

 

分析:1-100的累加和,即1+2+3+4+...,即前兩個數字的相加結果+下一個數字(前一個數字+1)。

 

i=1

 

result=0

 

while i <= 100:

 

      result +=1

 

     i+=1

 

 

 

#輸出5050

 

print(result)

 

注意:為了驗證程序的准確性,可以先改小數值,驗證結果正確后,再改成1-100做累加。

具體操作如下:

 

 3.2 .1應用二:計算1-100偶數累加和

分析:1-100的偶數和,即2+4+6+8...,得到偶數的方法如下:

•偶數即是和2取余結果為0的數字,可以加入條件語句判斷是否為偶數,為偶數則累加

•初始值為0/2,計算器每次累加2

具體操作如下:

3.2.2方法二:計數器控制

#方法二:計數器控制增量為2

i=0

result=0

while i <= 100:

       result +=1

       i+=2

#輸出2550

pinrt(result)

具體操作如下圖所示:

 

 

 

 

四.break和continue

 

break和continue是循環中滿足一定條件退出循環的兩種不同方式。

 

4.1 理解

 

舉例:一共吃5個蘋果,吃完第一個,吃完第二個...,這里“吃蘋果”的動作是不是重復執行?

 

情況一:如果吃的過程中,吃完第三個吃飽了,則不需要再吃第4個和第5個蘋果,即是吃蘋果的動作停止,這里就是break控制循環的流程,即終止此循環

 

情況二:如果吃的過程中,吃到第三個吃出一個大蟲子...是不是這個蘋果就不吃了,開始吃第四個蘋果,這里就是continue控制循環流程,即退出當前第一個循環繼而執行下一次循環代碼

 

4.1.1 情況一:break

 

i=1

 

while i<=5:

 

        if i==4:

 

            print(f'吃飽了不吃了')

 

            break

 

        print(f'吃了第{i}個蘋果')

 

具體操作如下:

 

 

 

 4.1.2 情況二:continue

注意:如果使用continue,在continue之前一定要修改計數器,否則進入死循環

具體操作如下:

五.while循環嵌套

5.1 語法

while 條件1:

       條件1成立執行的代碼

       ......

       while 條件2:

              條件2成立執行的代碼

               .....


具體操作如下:

 

 

 六.while循環嵌套應用

6.1 應用一:打印星號(正方形)

6.1.1需求

*****

*****

*****

*****

*****

具體操作如下:

 

 

 6.2 應用二:打印星號(三角形)

6.2.1 需求

*

**

***

****

*****

6.2.2 代碼

分析:一行輸出星星的個數和行號是相等的,同行:重復打印行號數字個星號,將打印行星號的命令重復執行5次實現打印5次。

# 重復打印5行星星

# j表示行號

j=0

while j<=4:

     # 一行星星的打印

     i=0

     # i表示每行里面星星的個數,這個數字要和行號相等所以i要和j聯動

     while i <= j:

           print('*',end='')

           i +=1

     print()

      j   += 1

具體操作如圖所示:

 6.3 九九乘法表

6.3.1代碼

 

j=1
while j<=9:
#一行表達式的開始
i=1
while i<=j:
print(f'{i}*{j}={i*j}',end='\t')
i +=1
#一行表達式的結束
print()
j+=1
具體操作如下:

 

 

七. for循環

用於遍歷字符串、列表、元組、字典、集合等序列類型,逐個獲取序列中的各個元素

7.1 語法

for 臨時變量 in 序列:

      重復執行的代碼1

      重復執行的代碼2

 

7.2 快速體驗

str1 = 'itwushen'

for i in str1:

         print(i)

執行結果如下:

 

 

7.3 break

 

str1 = 'wushen'

for i in str1:

     if i == 'e':

         break

     print(i)

執行結果:

 

 

 

7.4 continue

str1 = 'wushen'

for i in str1:

   if i == 'e':

      print('遇到e不打印')

      continue

print(i)

執行操作如下:

八.for...else...語法

8.1.1

for 臨時變量 in 序列:

重復執⾏的代碼

 ...

else:

循環正常結束之后要執⾏的代碼

注意:所謂else指的是循環正常結束之后要執⾏的代碼,即如果是break終⽌循環的情況,else下⽅縮進 的代碼將不執⾏。

8.1.2 案例

str1 = 'wushen'

for i in str1:

   print(i)

else:

   print('循環正常結束之后執⾏的代碼')

執行操作如下:

 

 

 8.1.3 退出for循環

 

 

1.break退出

str1 = 'wushen'

for i in str1:

      if i == 'e':

         print('遇到e不打印')

         break

         print(i)

else:

         print('循環正常結束之后執⾏的代碼')

 執行結果如下:

 

沒有執⾏else縮進的代碼。

 2.continue控制循環

str1='wushen'

for i in str1:

      if i=='e':

            continue

      print(i)

else:

      print('循環正常結束執行的else的代碼')    

執行結果如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM