Python 學習筆記 語法入門之for循環


一、for循環

1、for循環是Python中的第二種循環機制
理論上for循環能做的事情,while循環都可以做,用for循環是因為在(遍歷取值)上比while循環更簡潔。

2、for循環的語法
語法:
for 變量名 in 可迭代對象: (可迭代對象可以是:列表、字典、字符串、元組、集合)
     代碼1
     代碼2
     代碼3

二、與while循環對比

需求:讀取列表值並打印出來

點擊打開 示例
# 例1:循環列表取值
# 簡單版:
l = ['v1_xx', 'v2_xx', 'v3_xxx', 'v4_xxx']
for x in l:
    print(x)

# 簡單版 輸出結果
# v1_xx
# v2_xx
# v3_xxx
# v4_xxx
# ========================================
# 復雜版:
l1 = ['v1_xx', 'v2_xx', 'v3_xxx', 'v4_xxx']
i = 0
while i < 4:
    print(l1[i])
    i += 1
# 復雜版輸出
# v1_xx
# v2_xx
# v3_xxx
# v4_xxx
# =======================================
'例2:循環字典取值'
# 簡單版:
dic = {'k1': 1111, 'k2': 2222, 'k3': 3333}
for k in dic:
    print(k, dic[k])
# 結果輸出
# k1 1111
# k2 2222
# k3 3333

# 復雜版:while循環可以遍歷字典過於麻煩,不推薦使用

# ==================================
'案例3: 字符循環取值'
# 簡單版
msg = "you er message"
for x in msg:
    print(x)
# 結果輸出
# y
# o
# u
#  
# e
# r
#  
# m
# e
# s
# s
# a
# g
# e

 1、相同之出:都是循環,for循環可以做的,while也循環也可以做。
 2、不同之處:while循環為條件循環,循環次數取決於條件何時變假;
 for循環為“取值循環”,循環次數取決與in后包含值的個數;

 三 、for 循環的循環次數

for x in 'abc':  # 這里的值是三個,那么下面的代碼會循環3次
    inp_name = input('請輸入你的賬號:')
    inp_pwd = input('請輸入你密碼:')

但這種方式存在是有缺陷的,我們可以用Python的Range來產生值控制循環次數。

  • for 循環之 range功能

range功能就是按照安置定制造出值來

for i in range(10) # 類似於造出了一個[0,1,2,3,4,5,6,7,8,9]的列表取值0到9,共10個元素,顧頭不顧尾!
     print(i) #輸出結果 0 ...5....9

 

  • for 循環之結束循環

for + break:同while循環一樣

for + else: 同while循環一樣

for + while + break + else 示例
username = 'hyjkk'
password = '123456'
for i in range(3): #3次循環條件
    inp_name = input('請輸入你的賬號:')
    inp_pwd = input('請輸入你的密碼:')
    if inp_name == username and inp_pwd == password:
        print('登錄成功')
        while True:
            cmd = input("需要執行的命令")
            if cmd == 'exit':  # 退出整個程序,循環結束
                print('程序退出')
                break # 結束內部while循環
            else:
                print('代碼{xxx}正在運行'.format(xxx=cmd))
        break # 內部循環結束后,運行到這行,結束主循環
    else:
        print('賬號或密碼錯誤')
else:  # 判斷條件3次循環結束后,運行。
    print("3次錯誤,請一小時后再試")

以上代碼 在賬號密碼輸錯3次后會通過range(3)三次限制結束循環,並通過else提示輸錯三次錯誤。

四、補充

1、for搭配range,可以按照索引取值,但是需要自己去數元素的索引數量。

可以搭配 len() 關鍵字來實現 自動遍歷。

點擊看 示例
l=['aaa','bbb','ccc']  # len()竅門
for i in range(len(l)):
    print(i,l[i])

# 輸出結果
aaa
bbb
ccc

2、Python 3 以后對range做了優化;

原理:

不再像以前的版本把設置好的值,制造好了以后放到容器里。Python 3 以后的版本是需要多少值就制造多少直接給你,提升了內存使用效率。

五、for + continue 的應用

比while循環要簡潔一點

點擊看 示例
for i in range(6): # 不管情況如何 這里只循環6次
    if i == 4:     # i等於4時,執行continue。
        continue
    print(i)      
# 輸出結果
# 0
# 1
# 2
# 3
# 5

六、for 循環嵌套

 for循環嵌套;外層循環一次,內層需要循環完成,再循環外層的次數。

點擊看 示例
for i in range(3):
    print('外層',i)
    for j in range(5):
        print('內存',j)
'# 輸出結果'
# 外層 0
# 內存 0
# 內存 1
# 內存 2
# 內存 3
# 內存 4
# 外層 1
# 內存 0
# 內存 1
# 內存 2
# 內存 3
# 內存 4
# 外層 2
# 內存 0
# 內存 1
# 內存 2
# 內存 3
# 內存 4

補充:終止for循環只有break一種方案!!!

 


免責聲明!

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



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