1.for 循環
使用for語句可以遍歷全部元素,例如逐個輸出字符串中的字符,逐個輸出列表中的元素,元組中的元素,集合中的元素(注意賦值時各元素的順序),字典中的鍵……
1-1.range循環:
1 for i in range(5): #range(5)函數是生成一個0-4的列表來作為循環次數的判定 2 print(i) 3 """輸出結果: 4 D:\Python\venv\Scripts\python.exe D:/Python/基礎/循環.py 5 0 6 1 7 2 8 3 9 4
這是從range生成的列表里分別從0開始賦值給i變量,每賦值一次就循環一次,一直到列表結束""""
元組的方式:
for i in (0,1,2,3,4) print(i) ##輸出結果跟上面是一樣的,但是一般不會使用,不簡潔。
列表的方式:
for i in ["j",1,3,"a",5]: print(i)
字符串的方式:
for i in "python": print(i)
2.while 循環
如果條件成立(true),重復執行相同操作,條件不符合,跳出循環
while 循環條件:
循環操作
例:計算1-10相加的值
1 i = 1 ##賦值一個初始值給i變量 2 num = 0 #賦值一個初始值給num變量 3 while(i<=10): #設定循環判定條件:如果i變量小於10則條件成立,執行循環里的語句,否則跳出循環 4 num = num + i #計算語句 5 i = i + 1 #給變量i+1返回給變量i 6 print(num)
嵌套循環 --> 外部循環滿足條件后,執行代碼開始執行內部循環,等內部循環全部執行完畢,如果還滿足外部循環條件,則外部循環再次執行,依次類推,直到跳出外層循環。
例:分別輸入兩個學生的5門成績,並分別計算平均成績
1 j=1 # 定義外部循環計數器初始值 2 prompt='請輸入學生姓名' # 定義字符串變量,在用戶輸入時調用此變量可以減少敲漢字的麻煩 3 while j<=2: # 定義外部循環為執行兩次 4 sum=0 # 定義成績初始值,之所以定義在這里,是為了當第二個學生輸入成績時可以讓sum初始化為0,重新接收新學生的成績和 5 i=1 # 定義內部循環計數器初始值 6 name = raw_input(prompt) # 接收用戶輸入的學生姓名,賦值給name變量 7 while i<=5: # 定義內部函數循環5次,就是接收5門課程的成績 8 print ('請輸入第%d門的考試成績: '%i) #提示用戶輸入成績,其中用到了格式化輸出,%d的取值隨i的值顯示,第1門課程,第2門課程…… 9 sum= sum + input() # 接收用戶輸入的成績,賦值給sum 10 i+=1 # i變量自增1,i變為2,繼續執行循環,直到i等於6時,跳出循環 11 avg=sum/(i-1) # 計算第一個學生的平均成績 sum/(6-1),賦值給avg 12 print name,'的平均成績是%d\n'%avg # 輸出學生成績平均值 13 j=j+1 # 內部循環執行完畢后,外部循環計數器j自增1,變為2,再進行外部循環 14 print '學生成績輸入完成!' # 外部循環結束,提示輸入完成!
3.循環控制
循環控制語句可以改變循環正常的執行順序
循環控制語句
break語句:跳出本次循環(嵌套循環中只跳出一層循環)
continue語句:跳過當前一輪循環體的剩余語句,重新測試循環狀態,進入下一輪循環,比如循環的次數一共有5次,第四次遇到continue了,那么不繼續執行了,直接進行第5次循環判斷
4.if elif else -->條件判定執行
if condition:
expressions
如果 condition 的值為 True,將會執行 expressions 語句的內容,否則將跳過該語句往下執行。
例:輸入一個數字判定
1 while True: #建立一個死循環 2 try: #異常捕獲 3 num = float(input('請輸入一個數字:')) #鍵盤獲取一個值 4 if num == 0: #if判定是否等於0 5 print('輸入的數字是零') #如果等於0則輸出 6 elif num > 0: ##if判定是否大於0 7 print('輸入的數字是正數') #如果大於0則輸出 8 else: #以上判定都不符合則輸出else下的語句 9 print('輸入的數字是負數') 10 break 11 except ValueError: #捕獲輸入異常 12 print("你輸入的數字無效!") #捕獲到異常則執行 13