python控制語句---循環結構語句
這次主要把循環結構的控制語句補上,主要包含while、for、continue、break、循環嵌套。主要寫一些基本的認識以及包含的一些實例。當只有唯一路徑且只跑一次的時候選擇上一節中的選擇結構語句就可以了,但是當執行一次或者重復循環執行時就需要另辟蹊徑了,那就來認識一下這個蹊徑吧。
一、while 語句
1、幹啥用?
答:主要用於循環執行程序,既在某種條件下,循環執行某段程序,進而完成對需要重復處理的相同任務處理工作。
2、語法形式長啥樣?
答:while 判斷條件:
執行語句
其中,執行語句可以是單個語句或語句塊。判斷條件可以是任何符合要求的表達式,任何非空、非零的值均為True,當判斷條件為false時,循環結束。
實例一如下:
1 count = 0 # 給count一個起始值。
2 while count < 5: # 判斷條件,判斷當前正在參與循環的count值是否大於5,通過是否滿足此條件來決定要不要繼續執行後邊的執行語句
3 print ("The count is :",count) # 打印當前正在循環的count值
4 count = count + 1 # 將原有count值加1後繼續循環
5 print(" Good bye!!")
運行以上代碼可以得到以下結果:
1 The count is :0
2 The count is :1
3 The count is :2
4 The count is :3
5 The count is :4
6 Good bye!! # 當count的值不滿足小於5時結束了循環。
在上實例中“count<5”也可以是一個常量 ,用的不多。
實例二、
需求描述:輸入兩個正整數,求他們的最大公約數。
分析思路:1、比較兩個數,並使m>n
2、將m做為被除數,n作為除數,相除後的余數為q.
3、循環判斷q.如果q=0,則n即為最大公約數,否則就將n的值給m,r的值給n ,n作為被除數、m作為除數。取余q.繼續判斷。
代碼實例:
1 num1 = int(impurt("請輸入第一個正整數: ")) # 用戶輸入兩個正整數。
2 num2 = int(impurt("請輸入第二個正整數: "))
3 m = num1
4 n = num2
5 if m < n: # 判斷兩個值得大小
6 t = m # 將兩個值進行互換
7 m = n
8 n = t
9 r = m % n; # 取余
10 while r! = 0: # 判斷余數是不是為0
11 m = n; # 將n的值重新給m
12 n = r # 將除後的余數r重新給n
13 r = m % n # 實際上相當於n與r相除後取余
14 print(num1 "和"num2 "的最大公約數為: "n)
二 、for 語句
1、具有啥特點?
答 :可以遍歷任何一個序列的項目,比如一個列表、元祖、或者一個字符串
2、語法形式長啥樣?
答:for 循環索引值 in 序列:
循環體
其大致的執行邏輯是:每次循環、判斷循環索引值是否還在序列中,如果在,那就取出該值,提供給循環體內的語句使用,如果不在,則結束循環。
實例一、循環吧一個字符串給遍歷並打印出來
1 for letter in "python":
2 print("當前正被遍歷的字母是: "letter)
打印結果:
1 當前正被遍歷的字母是: p
2 當前正被遍歷的字母是: y
3 當前正被遍歷的字母是: t
4 當前正被遍歷的字母是: h
5 當前正被遍歷的字母是: o
6 當前正被遍歷的字母是: n
實例二、循環吧一個列表中的元素打印出來
1 fruits = ["banana","apple","mango"] # 有一個列表fruits並其中含有三個值
2 for fruit in fruits: # 將列表fruits中的元素遍歷取出並給fruit
3 print("當前正被遍歷的元素是: "fruit) # fruit擁有的值打印出來
4 print("Good bye!!!")
拓展:
1、生成整數序列的內置函數range()
1 sum = 0
2 for x in range(0,101): #通過內置函數,可以去到從0到100的整數
3 sum = sum + x #將從0到100中取出來的值相加。
4 print(sum)
2、通過索引來執行循環,建立索引的內置函數len()
1 fruits = ["banana","apple","mango"]
2 for i in range(len(fruits)): # 使用len()函數和range()函數將列表fruits中的元素都對應的按整數所需建立下標索引,並將循環下邊索引
3 print("當前正被遍歷的水果是:"fruits[i]) # 將循環到的下標索引在fruits中對應位置的元素打印出來
4 print("Good bye!!")
三、continue 和 break 語句
break語句在while和for語句中均可以使用,一般放在if選擇結構中,一旦break語句被執行,則會導致整個語句體直接結束。用的較少
兩個語句的語法實例:
1 i = 1
2 while i < 5:
3 i +=1
4 if i % 2>0 #當一個數除以2大於0時跳過輸入當前值
5 continue
6 print(i) #輸出雙數2、4
7 i=1
8 while 1: #當循環條件成立是就打印i
9 print(i) #打印出1、2、3、4、5
10 i +=1
11 if i>10 #當i的值大於10時結束全部循環
12 break
拓展內容
四、循環嵌套
在python中允許一個循環體裏面嵌入另一個循環。可以在一個循環體內嵌入另一個循環體。如while循環中可以嵌入for循環。同樣,可以在for循環中嵌入while循環。一般嵌套層不超過3層。當然也有一些註意事項,如下:
1、循環嵌套時,外層循環和內層循環間是包含關系,即內層循環必須被完全包含在外層循環中。
2、當程序中出現循環嵌套時,程序每執行一次外層循環,則其內層循環必須循環所有次數後,才能進入到外層循環中的下一次循環。
實例1:
1 for i in range(1,10):
2 for j in range(1,i+1)
3 print(i,"*",J,"=",i*j,"\t",end="") #end=""作用是不換行
4 print("") #僅換行作用
以上代碼就是答應九九乘法表的代碼。
實例2:
思路:判斷一個數m是否為素數,只要依次用2、3、4、、、m-1做除數去除m,只要有一個能被整除,m就不是素數。
1 m = int(input("請輸入一個整數:"))
2 j = 2
3 while j <= m-1:
4 if m%j==0:
5 j = j+1
6 if (j>m-1):
7 print(m,"是素數")
8 else:
9 print(m,"不是素數" )
python控制語句---循環結構語句