零基礎入門Python3-循環詳解


今天來說一下循環,循環可以完成很多自動化的功能。在Python中,循環分為for循環和while循環還有循環嵌套。

 

一、for循環

for循環用於遍歷任何序列,這個序列包括列表list或者字符串。

 

for  變量  in 列表或者字符串:

        語句1

        語句2

        ......

 

#實例:

for i in ['zhangsan','lisi','wangwu',666,123]:

print(i)

>>> zhangsan

        lisi

        wangwu

        666

        123

# 解析:首先定義列表 ['zhangsan','lisi','wangwu',666,123],然后依次取列表中的值對變量 i 進行賦值。賦值完成后,執行print(i)語句,輸出獲得到的值。

 

二、while循環

while循環就是對條件語句進行判斷,如果條件滿足,則繼續循環。如果條件不滿足,循環中斷。

 

while 條件判斷表達式:

        語句1

        語句2

        ......

 

#實例(我們依次輸出數字0-10):

i=0

while i<=10:

print(i)

i=i+1

#解析:首先定義變量i,並賦值1。創建while循環語句,條件判斷表達式為 i<=10,當 i<=10 為True時,則執行print(i),同時給變量 i+1。知道 i=11時,條件判斷表示式的執行結果為False,此時,循環結束。

 

三、break、continue和pass語句的用法

 

1、break語句

在循環語句當中,如果執行break語句,則跳出且終止循環。比如,讓程序找出數字0-100中的66,如果找到后,則跳出循環,並且終止循環。

 

#目標:找出0-100中的66

#那我們用哪個循環語句比較合適呢?當然是for循環了。

 

for i in range(0,101):

if i==66:

print('我找到了66')

break

else:

print('正在找...{0}'.format(i))

#在這里,我們學習兩個新的知識點

# 1、range()函數,它代表的是創建一個整數列表,在for循環中,經常用              到!range(x,y) x代表的是起始數字,y代表的是結束數字,y是不包                含在內的,所以在程序中,我的表達式為range(0,101)。

# 2、format是格式化語句,也就是替換的意思。在字符串中定義{x},x是0起            步的,對應的format(x的值)。

# 3、這兩個語句我會在后面仔細的講解的。

# 解析:首先我們定義變量 i ,然后把range(0,101)的數字依次的賦值給變   量 i,接着用判斷語句識別變量 i 是否等於66。如果等於66,則輸出 print('我找到了66'),並且跳出中斷循環。

 

2、continue語句

在循環語句中,執行continue語句,直接跳出此次循環,進行下一個循環。

 

# 查找字符串hello中的字母P 

for i in 'Python':

if i=='h':

continue

print('正在查找{0}'.format(i))

>>> 正在查找P

        正在查找y

        正在查找t

        正在查找o

        正在查找n

#解析:程序正常運行的順序是依次把Python字符串中的字母賦值給變量 i,然后執行 if 判斷語句,接着執行 print 語句。但是當 if 語句為True 時,執行continue語句,此時,continue語句直接跳到循環的尾部,執行下一次的循環了,沒有經過print語句。

 

3、pass語句

簡而言之就是占位語句,執行后沒有任何的操作,僅僅是一個占位的。

 

i=0

if i<=3:

pass

i=i+1

>>>(什么都沒有)

 

四、嵌套循環

在實際的應用中,經常要使用嵌套循環,所謂的嵌套循環指的就是兩個或者兩個以上的循環語句,放在一起來執行復雜的任務。

 

for  變量1  in  list1:

        for  變量2  in  list2:

                語句1

                語句2

                ......

 

#實例:

for i in range(1,10):

for j in range(i,10):

print('{0}*{1}={2}'.format(i,j,i*j),end=' ')

print(' ')

 

>>>

1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9

2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27

4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36

5*5=25 5*6=30 5*7=35 5*8=40 5*9=45

6*6=36 6*7=42 6*8=48 6*9=54

7*7=49 7*8=56 7*9=63

8*8=64 8*9=72

9*9=81

 

# 這里有個新的知識點,print('輸出的內容',end=' '),print原本是一個函數,我們平常使用的只是輸出的功能,還有一些默認的參數(具體函數會講到)。print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)。print的end參數默認值是個換行符,這就是為什么我們每次打印輸出的時候,都會自動換行,這里我們把 '\n' 換行符改成了 ' ' 空的字符串,這樣就不會自動換行了,每次循環完后,在print(' '),使它恢復默認。

 
關注公眾號,了解更多!
 
 


免責聲明!

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



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