python 學習筆記(六)for循環、for嵌套循環案例


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   

 


免責聲明!

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



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