Python3 for while 循環(huán)語句

Python3 for while 循環(huán)語句

循環(huán)就是程序中需要重復執(zhí)行某些語句。Python 中的循環(huán)語句有 for 和 while。

Python 循環(huán)語句的控制結構圖如下所示:

 

1. Python while 循環(huán)

Python 中 while 語句的一般形式:

while 判斷條件(condition):
    執(zhí)行語句(statements)……

執(zhí)行流程圖如下:

執(zhí)行 Gif 演示:

同樣需要注意冒號和縮進。另外,在 Python 中沒有 do..while 循環(huán)。

以下范例使用了 while 來計算 1 到 100 的總和:

#!/usr/bin/env python3

n = 100
    
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
    
print("1 到 %d 之和為: %d" % (n,sum))

執(zhí)行結果如下:

1 到 100 之和為: 5050

1)無限循環(huán)

我們可以通過設置條件表達式永遠不為 false 來實現(xiàn)無限循環(huán),范例如下:

#!/usr/bin/python3
 
var = 1
while var == 1 :  # 表達式永遠為 true
   num = int(input("輸入一個數(shù)字  :"))
   print ("你輸入的數(shù)字是: ", num)
 
print ("Good bye!")

執(zhí)行以上腳本,輸出結果如下:

輸入一個數(shù)字  :5
你輸入的數(shù)字是:  5
輸入一個數(shù)字  :

你可以使用 CTRL+C 來退出當前的無限循環(huán)。

無限循環(huán)在服務器上客戶端的實時請求非常有用。

2)while 循環(huán)使用 else 語句

在 while … else 在條件語句為 false 時執(zhí)行 else 的語句塊。

語法格式如下:

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)></additional_statement(s)></statement(s)></expr>

循環(huán)輸出數(shù)字,并判斷大?。?/p>

#!/usr/bin/python3

count = 0
while count < 5:
    print (count, " 小于 5")
    count = count + 1
else:
    print (count, " 大于或等于 5")

執(zhí)行以上腳本,輸出結果如下:

0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5

3)簡單語句組

類似if語句的語法,如果你的while循環(huán)體中只有一條語句,你可以將該語句與while寫在同一行中, 如下所示:

flag = 1

while (flag): print ('歡迎訪問<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!')
    
print ("Good bye!")

注意:以上的無限循環(huán)你可以使用 CTRL+C 來中斷循環(huán)。

執(zhí)行以上腳本,輸出結果如下:

歡迎訪問<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!
歡迎訪問<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!
歡迎訪問<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!
歡迎訪問<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!
歡迎訪問<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!
……

 

2. Python for 語句

Python 中 for 循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串。

for循環(huán)的一般格式如下:

for <variable> in <sequence>:
    <statements> else:
    <statements> </statements></statements></sequence></variable>

流程圖:

for 循環(huán)范例:

languages = ["C", "C++", "Perl", "Python"] 
for x in languages:
    print (x)

以下 for 范例中使用了 break 語句,break 語句用于跳出當前循環(huán)體:

#!/usr/bin/python3

sites = ["Baidu", "Google","yapf","Taobao"]
for site in sites:
    if site == "yapf":
        print("<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!")
        break
    print("循環(huán)數(shù)據(jù) " + site)
else:
    print("沒有循環(huán)數(shù)據(jù)!")
print("完成循環(huán)!")

執(zhí)行腳本后,在循環(huán)到 "yapf"時會跳出循環(huán)體:

循環(huán)數(shù)據(jù) Baidu
循環(huán)數(shù)據(jù) Google<a href="http://www.slktour.com" target="_blank">編程寶庫</a>!
完成循環(huán)!

 

3. range()函數(shù)

如果你需要遍歷數(shù)字序列,可以使用內(nèi)置range()函數(shù)。它會生成數(shù)列,例如:

for i in range(5):
    print(i)

輸出結果:

0
1
2
3
4

你也可以使用range指定區(qū)間的值:

for i in range(5,9) :
    print(i)

輸出結果為:

5
6
7
8

也可以使range以指定數(shù)字開始并指定不同的增量(甚至可以是負數(shù),有時這也叫做'步長'):

for i in range(0, 10, 3) :
    print(i)

輸出結果為:

0
3
6
9

您可以結合range()和len()函數(shù)以遍歷一個序列的索引,如下所示:

a = ['Google', 'Baidu', 'yapf', 'Taobao', 'QQ']
for i in range(len(a)):
    print(i, a[i])

輸出結果為:

0 Google
1 Baidu
2 yapf
3 Taobao
4 QQ

 

4. break 和 continue 語句及循環(huán)中的 else 子句

break 執(zhí)行流程圖:

continue 執(zhí)行流程圖:

while 語句代碼執(zhí)行過程:

for 語句代碼執(zhí)行過程:

break 語句可以跳出 for 和 while 的循環(huán)體。如果你從 for 或 while 循環(huán)中終止,任何對應的循環(huán) else 塊將不執(zhí)行。

continue 語句被用來告訴 Python 跳過當前循環(huán)塊中的剩余語句,然后繼續(xù)進行下一輪循環(huán)。

while 中使用 break 范例:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('循環(huán)結束。')

輸出結果為:

4
3
循環(huán)結束。

while 中使用 continue:

n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循環(huán)結束。')

輸出結果為:

4
3
1
0
循環(huán)結束。

循環(huán)語句可以有 else 子句,它在窮盡列表(以for循環(huán))或條件變?yōu)?false (以while循環(huán))導致循環(huán)終止時被執(zhí)行,但循環(huán)被 break 終止時不執(zhí)行。

如下范例用于查詢質(zhì)數(shù)的循環(huán)例子:

#!/usr/bin/python3

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
    else:
        # 循環(huán)中沒有找到元素
        print(n, ' 是質(zhì)數(shù)')

執(zhí)行以上腳本輸出結果為:

2  是質(zhì)數(shù)
3  是質(zhì)數(shù)
4 等于 2 * 2
5  是質(zhì)數(shù)
6 等于 2 * 3
7  是質(zhì)數(shù)
8 等于 2 * 4
9 等于 3 * 3

 

5. pass 語句

Python pass是空語句,是為了保持程序結構的完整性。

pass 不做任何事情,一般用做占位語句,如下:

while True:
    pass  # 等待鍵盤中斷 (Ctrl+C)

最小的類:

class MyEmptyClass:
    pass

以下范例在字母為 o 時 執(zhí)行 pass 語句塊:

#!/usr/bin/python3

for letter in 'yapf': 
    if letter == 'o':
        pass
        print ('執(zhí)行 pass 塊')
    print ('當前字母 :', letter)
    
print ("Good bye!")

執(zhí)行以上腳本輸出結果為:

當前字母 : R
當前字母 : u
當前字母 : n
執(zhí)行 pass 塊
當前字母 : o
執(zhí)行 pass 塊
當前字母 : o
當前字母 : b
Good bye!

下一節(jié):Python3 迭代器

Python3 教程

相關文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频