for 循環 | 重復執行語句。在循環次數已知時使用for循環,且所有for循環均可用while循環實現。python中for循環可以遍歷任何序列項目,如一個列表、字符串、元祖等 |
while 循環 | 在給定的判斷條件為 true 時執行循環體,否則退出循環體。在循環次數未知時使用while循環。 |
嵌套循環 | 循環體中嵌套循環。 |
1、for循環的語法格式:
for 臨時變量 in 列表或是字符串或是元祖或是集合或是字典或是文件等: 循環滿足條件時執行的代碼 else: 循環不滿足條件時執行的代碼
#重復執行語句。在循環次數已知時使用for循環, # 且所有for循環均可用while循環實現。python中for循環可以遍歷任何序列項目, # 如一個列表、字符串、元祖等 #for循環的使用場景 ##想要某個操作重復執行切循環次數已知時、可以使用for循環 ##所有for循環均可以用while來實現 #for循環的語法格式 '''for 臨時變量 in 列表或是字符串或是元祖或是集合或是字典或是文件等: 循環滿足條件時執行的代碼 else: 循環不滿足條件時執行的代碼 ''' #1、for循環操作實例 '''for循環可遍歷除數字以外的數據基本類型, 如字符串、元組、列表、集合、字典、文件等, 我們還可通過序列索引進行遍歷。具體操作如下所示:''' '''#1、for循環遍歷字符串 str ='abc' for i in str: print(i) #運行結果 a b c ''' '''#2、for循環遍歷元組 tup =(31,30,28,35,21,35,34,29,31) for i in tup : print(i,end='') #end’‘ 為不換行 #運行結果 31 30 28 35 21 35 34 29 31 ''' '''#3、for循環遍歷列表 List =['apple','banana','grape','orange'] for fruits in List : print(fruits)#打印輸出水果 #運行結果 apple banana grape orange ''' '''#4、for循環遍歷集合 set ={110,16,'dance','Amy'} for i in set : print(i) #運行結果 110 16 dance Amy ''' '''#5、for循環遍歷字典 dict ={'name':'Amy','height':110,'weight':16,'hobby':'dance'} for k,v in dict.items() :#遍歷dict中的鍵值對 print(k,'---->',v)#打印輸出dict中的K:V的鍵值對 print('-----------')#打印輸入'---------' for k in dict.keys():#遍歷dict中所有的鍵 print(k) #打印輸出dict中的keys print('--------------')#打印輸入'---------' for v in dict.values() :#遍歷dict中所有的值 print(v)#打印輸出dict中的values #運行結果 name ----> Amy height ----> 110 weight ----> 16 hobby ----> dance ----------- name height weight hobby -------------- Amy 110 16 dance ''' '''#6、for循環遍歷文件 for content in open('test.txt'):#當前目錄下的test.txt文件 print(content) #打印輸入test.txt文件下的內容。 #’contest‘:目錄、內容 #運用結果 ’‘’ ’‘’#7、for循環實現1到9相乘 sum=1 for i in list(range(1,10)): #range 序列含左不含右(包含數字1,不包含數字10) sum*=i print('1*2*3...*10=',sum) #運用結果 1*2*3...*10= 362880 ''' #可以通過序列索引進行遍歷函數語法 #函數語法:range(start, stop[, step]) #參數說明: #start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價於range(0, 5); #stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5 #step:步長,默認為1。例如:range(0, 5) 等價於 range(0, 5, 1 #range的用法:range(5) — 一個參數,從0開始到5不包含5(即含左不含右); #range(5,15) — 兩個參數,從5開始到15不包含15; #range(5,55,5) — 三個參數,從5開始到55不包含55,最后的參數5是步長 #內置函數 len() 和 range(), #函數 len() 返回列表的長度,即元素的個數。 #range返回一個整數序列。 # range() 函數可創建一個整數列表,一般用在 for 循環中。 #使用len()和range()內置函數 '''furits=['apple','banana','grape','orange'] #定義列表 for index in range(len(furits)):# print('當前水果:',furits[index])#遍歷打印輸出列表內的水果 print('當前水果總數:',len(furits)) #打印輸出元素個數 #運行結果: 當前水果: apple 當前水果: banana 當前水果: grape 當前水果: orange 當前水果總數: 4 ''' #循環使用 else 語句 #在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別, #else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。 '''#實例1: for num in range(10,20): # 迭代 10 到 20 之間的數字 for i in range(2,num): # 根據因子迭代 if num%i == 0: # 確定第一個因子 j=num/i # 計算第二個因子 print ('%d 等於 %d * %d' % (num,i,j)) break # 跳出當前循環 else: # 循環的 else 部分 print (num, '是一個質數') #運用結果: 10 等於 2 * 5 11 是一個質數 12 等於 2 * 6 13 是一個質數 14 等於 2 * 7 15 等於 3 * 5 16 等於 2 * 8 17 是一個質數 18 等於 2 * 9 19 是一個質數 ''' #實例2: '''#打印直角三角形 rows=int(input('輸入列數:')) i=j=k=1 #聲明變量,i用於控制外層循環(圖形行數),j用於控制空格的個數,k用於控制*的個數 print('直角三角形1') for i in range(0,rows): for K in range(0,rows-i): print('*', end='') # end=''表示不換行 k +=1 i+=1 print('\n') #運用結果: 輸入列數:4 直角三角形1 **** *** ** * ''' '''#打印實心等邊三角形 rows=int(input('輸入列數:')) print ("打印空心等邊三角形,這里去掉if-else條件判斷就是實心的") for i in range(0, rows + 1):#變量i控制行數 for j in range(0, rows - i):#(1,rows-i) print (' ',end='') j += 1 for k in range(0, 2 * i - 1):#(1,2*i) if k == 0 or k == 2 * i - 2 or i == rows: if i == rows: if k % 2 == 0:#因為第一個數是從0開始的,所以要是偶數打印*,奇數打印空格 print ("*",end='') else: print(" ",end='') #end='' 可以起到不換行的作用 else: print ("*",end='') else: print (" ",end='') k += 1 print ("\n") i += 1