【Python基礎】7. for循環(huán) & while循環(huán)

本篇筆記知識點:

  • for循環(huán)
  • while循環(huán)
  • 循環(huán)控制語句: - break 語句; - continue 語句; - pass 語句

循環(huán)語句

循環(huán)這種概念很重要,因為它是讓計算機自動完成重復工作的常見方式之一。

編程語言提供了各種控制結構,允許更復雜的執(zhí)行路徑。

循環(huán)語句允許我們執(zhí)行一個語句或語句組多次

在Python中,有兩種循環(huán): for循環(huán)while循環(huán):

  • 兩者的相同點在于都能循環(huán)做一件重復的事情;
  • 不同點在于,for循環(huán)是在序列窮盡時停止,while循環(huán)是在條件不成立時停止。

</br>

for循環(huán)

在Python中 for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串等。
遍歷 - 對每個元素執(zhí)行相同的操作,通俗點說,就是把這個循環(huán)中的第一個元素到最后一個元素依次訪問一次.

  • for循環(huán)的流程圖:


    for 循環(huán).jpg

- for循環(huán)的基本結構如下:

for 臨時變量 in 列表或者字符串等可迭代對象:
    循環(huán)滿足條件時執(zhí)行的代碼

for...in是Python程序員使用最多的語句,for 循環(huán)用于迭代容器對象中的元素,這些對象可以是列表、元組、字典、集合、文件,甚至可以是自定義類或者函數(shù),例如:

  1. 作用于列表
  2. 作用于元組
  3. 作用于字符串
  4. 作用于集合
  5. 作用于字典
  6. 作用于文件

代碼:

# 1.for循環(huán)遍歷列表
Fruits=['apple','orange','banana','grape']
for fruit in Fruits:
    print(fruit)
print("結束遍歷")
# 2. 遍歷字符串
for str in 'abc':
    print(str)
 # 3. 遍歷字典:   
 for key,value in {"name":'Kaina',"age":22}.items():
    print("鍵---"+key)
    print("值---"+str(value))
 # 4. 遍歷文件
 for content in open("D:\\test.txt"):
    print(content)

for循環(huán)和range

for x in range(1,5):
    print(x)
print("注意:打印0-5的范圍內的數(shù),不會包括5")

for x in range(1,5,2):
    print(x)
print(1)
print("三個參數(shù):起始位置(默認0),結束位置(不包含),步長(默認為1,可以為負數(shù))")

for x in range (5,1,-2):
    print(x)


While 循環(huán)語句

while 語句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復處理的相同任務。

執(zhí)行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。

當判斷條件假false時,循環(huán)結束。

執(zhí)行流程圖如下:


while循環(huán).jpg

while循環(huán)的基本結構如下:

 while 條件:
        條件滿足時,做的事情1
        條件滿足時,做的事情2
        條件滿足時,做的事情3
        ...(省略)...

例:

 i = 0
    while i < 5:
        print("當前是第%d次執(zhí)行循環(huán)" % (i + 1))
        print("i=%d" % i)
        I+=1

運行結果:

當前是第1次執(zhí)行循環(huán)
    I=0
    當前是第2次執(zhí)行循環(huán)
    I=1
    當前是第3次執(zhí)行循環(huán)
    I=2
    當前是第4次執(zhí)行循環(huán)
    I=3
    當前是第5次執(zhí)行循環(huán)
    I=4

無限循環(huán)

我們可以通過設置條件表達式永不為False達到無限循環(huán),例如:

#1.死循環(huán)
I=1
while I<9:
    print(str(i)+"只羊")

#2.使用一個自增變量來約束條件
I=1
while I<4:
    print(str(i)+"只羊")
    # 需要一個變量來約束while中的條件
    I+=1
  • 可以使用CTRL +C退出當前的無限循環(huán)。
  • 無限循環(huán)在服務器上客戶端的實時請求非常有用。

循環(huán)語句的控制語句: ? break, continue

continue:當前這次的循環(huán)跳出,繼續(xù)下一個循環(huán)
break:跳出當前整個循環(huán)

  • 在while循環(huán)中使用break關鍵字
I=0
while True:
    I+=1
    if i==10:
        break
       #print("此內容無法打?。?)
print("循環(huán)的次數(shù)為:"+str(i))

運行結果:循環(huán)的次數(shù)為:10
說明:使用break關鍵字,不在執(zhí)行余下的代碼并退出整個循環(huán)。

  • 在while循環(huán)中使用continue關鍵字:
number=0
while number<10:
    number+=1
    if number%2==0:
        continue
    print(number)

for...else 和 while..else

循環(huán)語句可以有 else 子句,它在窮盡列表(以for循環(huán))或條件變?yōu)?false (以while循環(huán))導致循環(huán)終止時被執(zhí)行,但循環(huán)被break終止時不執(zhí)行。

for...else
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區(qū)別,else 中的語句會在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣。

for num in range(10,20):  # 迭代 10 到 20 之間的數(shù)字
   for i in range(2,num): # 根據(jù)因子迭代
      if num%i == 0:      # 確定第一個因子
         j=num/i          # 計算第二個因子
         print '%d 等于 %d * %d' % (num,i,j)
         break            # 跳出當前循環(huán)
   else:                  # 循環(huán)的 else 部分
      print num, '是一個質數(shù)'

運行結果:

0 等于 2 * 5
11 是一個質數(shù)
12 等于 2 * 6
13 是一個質數(shù)
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一個質數(shù)
18 等于 2 * 9
19 是一個質數(shù)

while...else
在Python的while循環(huán)中會有whlie...else語句,其else語句只有在while正常結束時才會被執(zhí)行,如果while循環(huán)被break語句結束,是不會執(zhí)行else語句的。
即,在 python 中,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:

var = 6
while var > 0:
   var = var -1
   if var == 3:             # 變量為 3 時跳過輸出
    break
   print ('當前變量值 :', var)
else:
    print("Good bye!")

執(zhí)行結果:

當前變量值 : 5
當前變量值 : 4
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,027評論 2 16
  • 碎片式學習是個騙局 今年是個人IP爆炸的一年。從年初開始,踏著互聯(lián)網(wǎng)的浪潮,在朋友圈里開始瘋傳各種公眾號的線上免費...
    牙牙囈語閱讀 1,298評論 1 0
  • 不知為什么,他跟法比的交流沖動總是錯位,法比來跟他談話時,他恰恰在享受孤寂;而他從孤寂中出來,渴望跟法比交談時,法...
    碎浪浪閱讀 294評論 0 0
  • 1、窗口的方式 窗口的方式:層疊窗口、平鋪、多窗格 2、窗口設計 對話框是另一個房間,去之前要有個好理由 把功能置...
    IreliaDE意志閱讀 451評論 0 0
  • 天空中布滿了密密麻麻的烏云,它們互相擁擠著,黑著臉。五分鐘后,傾盆大雨就落下來了,它們打在我身上,馬上就與我融為了...
    飛云夏閱讀 1,131評論 10 4

友情鏈接更多精彩內容