91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python的循環

發布時間:2020-08-08 23:50:56 來源:網絡 閱讀:574 作者:俊偉祺i 欄目:編程語言

python的循環

編寫程序時經常有代碼需要重復運行,python提供了while和for進行循環操作。

一、while循環

1、while循環可以根據條件進行判斷,決定是否要循環執行語句塊,語法如下:
python的循環
循環條件后面也是要使用冒號,然后縮進寫循環操作語句,先判斷條件是否成立,如果為true,則執行循環操作語句,如果為false,則跳出循環。示例代碼如下:

count = 0
while (count <5):
    count = count+1
print (count)
               #結果
>>> 
5

變量count初始值為0,當count < 5時,循環執行count=count+1語句。如第1遍執行時,條件是0 < 5,結果true,則執行count=count+1語句,count值變為1,此時已經沒有其他語句同級,則值變為2。以此類推,當count等于4的時候,4 < 5成立,執行count=count+1語句,count變為5,此時再進行條件判斷5 < 5為false,退出while循環,最后的輸出結果為5.

2、字符串的格式化是將若干值插入帶有“%”替代符的字符串中,從而可以動態地輸出字符串,字符串中的“%d”表示插入的是一個整形數據,字符串后面的“%i”表示取的是變量i的值。
字符串格式化中可以使用的替代符除了“%d”,還有其他的替代符,如下表:
python的循環
下面示例演示這幾種替代符的使用情況:

num = 5
numStr = "5"
numF = 5.55
print("第%d名"%num)
print("第%s名"%numStr)
print("分數是:%f"%numF)
              #結果
>>> 
第5名
第5名
分數是:5.550000

字符串中使用對應的替代符,把相應的變量插入到了相應的位置。

字符串中還可以使用多個替代符,對應的變量使用元組即可,示例代碼如下:

first = 1
second = 2
print("第%d名和第%d名"%(first,second))
      #結果
>>> 
第1名和第2名

使用時要注意順序,位置不能放錯,否則可能會出現類型不匹配的問題。

還可以使用字典格式化多個值,示例代碼如下:

num={"first":1,"second":2}
print("第%(first)d名和第%(second)d名"%num)
      #結果
>>> 
第1名和第2名

因為字典是無序的,所以使用字典時需要把鍵指定出來,明確哪個位置要用哪個鍵值。

3、對于編寫好的代碼,經過一段時間之后,有可能會忘記代碼的具體作用,所以代碼中要寫一些注釋文字,以便于日后閱讀和修改代碼。python中使用“#”+空格開頭表示注釋,可以對前面代碼加上注釋如下:

#輸入5門課程的考試成績,計算平均成績
#初始化循環計算器i
i=1
#初始化總成績變量sum
sum=0
#重復執行5次接收考試成績,求和的操作
while i<=5:
    print("請輸入第%d門課程的考試成績"%i)
#每門課程計入總成績
sum=sum+inpunt()
i=i+1        #計數器i增加1
#計算平均成績
avg=sum/(i-1)
#輸出平均成績
print("5門課程的平均成績是%d"%avg)

使用“#”+空格開頭的文字python解釋器不會做任何處理,可以提高代碼的可讀性。在行開頭就使用“#”+空格的成為單行注釋,緊隨同行以“#”+空格開頭的成為行內注釋,注釋并不是在每行都需要,只需要把不易讀的代碼做注釋即可。

二、for循環

for循環是另一種用于控制循環的方式,while是使用條件判斷執行循環,而for是使用遍歷元素的方式進行循環。

1、for循環的幾種方式

for循環的語法結構如下:
python的循環
常用的有以下幾種方式。

1)for循環可以對字符串進行遍歷,逐個獲得字符串的每個字符,示例代碼如下:

for letter in ("python"):
    print ("Current letter:%s"%letter)
         #結果
>>>
Current letter:p
Current letter:y
Current letter:t
Current letter:h
Current letter:o
Current letter:n

語句“for letter in python”:的作用是對“python”字符串的字符逐個遍歷,把字符賦值給變量letter,然后執行for對應的語句塊。例如,第一遍執行時,letter的值是“p”,執行輸出語句,然后返回再執行for語句,letter的值是“y”;依此類推,當執行完最后一個字符“n”的語句塊后,for循環已經沒有字符再可以獲得,循環退出。

2)for循環可以對列表和元組進行遍歷,示例代碼如下:

fruits = ["西瓜","蘋果","香蕉"]
for fruit in fruits:
    print (fruit)
        #結果
>>> 
西瓜
蘋果
香蕉

語句“for fruit in fruits:”的作用是遍歷列表fruits中的元素,把元素賦值給fruit,輸出語句每次輸出一個水果。

3)需要循環操作相同的內容時,可以用for循環和range()函數結合使用,先看看range()函數的作用,示例代碼如下:

for i in range(0,5):
    print(i)
         #結果

0
1
2
3
4

for i in range(0,5,2):
    print(i)
        #結果
>>> 
0
2
4

range(0,5)輸出的是一個列表,由第一個參數0開始,默認每次加1,當大于等于第二個參數時結束,所以列表中不包括第二個參數值。range(0,5,2)多了第三個參數2,作用是每次加2,最后的列表值是“[0,2,4]”。所以range()函數的作用是創建一個數字列表,取值范圍是從起始數字開始到結束數字之前的內容。for循環可以對列表進行遍歷,所以可以對range()函數的結果進行遍歷。示例代碼如下:

for i in range(0,5):
    print("哈哈哈")
        #結果
>>> 
哈哈哈
哈哈哈
哈哈哈
哈哈哈
哈哈哈

range(0,5)是由0~4組成的列表,循環共執行了5遍,輸出語句執行了5遍,變量i的值就是每次遍歷列表的元素值。

2、for循環綜合示例代碼如下:

subjects = ('python','MySQL','Linux')
sum = 0
for i in subjects:
    print("請輸入111的%s的考試成績:"%i)
    score=int (input())
    sum+=score
a v g=sum/len(subjects)
print("111的平均成績是%d"%a v g)
        #結果
>>> 
請輸入111的python的考試成績:
52
請輸入111的MySQL的考試成績:
68
請輸入111的Linux的考試成績:
84
111的平均成績是68

這段代碼的作用是接收2門課程的成績,計算輸出平均成績。使用for循環遍歷課程列表subjects,接收成績后使用sum累加,最后輸出平均成績。

3、邏輯運算符

任何語言中都有邏輯表達式,它是用邏輯運算符和變量連接起來的表達式,邏輯運算符下圖所示:
python的循環
簡單演示邏輯運算符的使用方法:

>>> print (not True)
False
>>> print(True and False)
False
>>> print(True or False)
True

not是求反運算,所以not True的結果是false;and是與運算,只要有一個值是False,結果就是False,所以(True and False)的結果是False;or是或運算,只要有一個值是True,結果就是True,所以(True or False)的結果是True。

4、for循環嵌套

同while循環一樣,for循環也可以使用嵌套的方式,示例代碼如下:

students =["111","222"]
subjects = ('Python','MySQL','Linux')
for student in students:
    sum = 0
    for subject in subjects:
        print("請輸入%s的%s考試成績:"%(student,subject))
        score = int(input())
        sum+=score
    avg=sum/len(subjects)
    print("%s的平均成績是%d"%(student,avg))
       #結果
>>>
請輸入111的Python考試成績:
56
請輸入111的MySQL考試成績:
75
請輸入111的Linux考試成績:
93
111的平均成績是74
請輸入222的Python考試成績:
63
請輸入222的MySQL考試成績:
42
請輸入222的Linux考試成績:
69
222的平均成績是58

第1層循環用于控制對學生進行遍歷,第2層循環控制對課程遍歷,與while的方式基本相同。
此處需要注意的是,for循環的變量名沒有使用i、j這樣沒有意義的變量,而是使用了student、subject這種名稱明確的變量名,使程序的可讀性更強,避免了引用變量時出現引用錯誤的情況。

三、循環控制

當使用while和for做循環操作時,有可能需要改變循環的正常執行順序,這時就需要用循環控制語句實現,循環控制語句有break和continue。

1、break

在循環的語句塊中使用break語句,可以跳出整個 循環。下面對輸出平均成績的代碼進行修改,當成績無效時,使用break退出循環,示例代碼如下:

students =["111","222"]
subjects = ('Python','MySQL','Linux')
for student in students:
    sum = 0
    for subject in subjects:
        print("請輸入%s的%s考試成績:"%(student,subject))
        score = int(input())
        if(score<0 or score>100):
            print("輸入的成績需要大于0或小100,循環退出")
            break;
        sum+=score
    avg=sum/len(subjects)
    print("%s的平均成績是%d"%(student,avg))
        #結果
>>>
請輸入111的Python考試成績:
52
請輸入111的MySQL考試成績:
111
輸入的成績需要大于0或小100,循環退出
111的平均成績是17
請輸入222的Python考試成績:
0
請輸入222的MySQL考試成績:
0
請輸入222的Linux考試成績:
5
222的平均成績是1

大部分是前面的代碼,只是在第8~10行加入了成績有效性的判斷,不符合條件,退出循環。當輸入111時,這是不符合條件的數值,程序執行8~10行,break退出for循環,break只和一個for循環對應,雖然有兩層循環,但它只會結束離它最近的循環,這里就是第2層for循環。第二層循環結束后,接著執行后面的第12行和13行代碼,第1層的循環照常遍歷執行,開始輸入第2個學生“王五”的成績。

2、continue

continue的作用和break不同,它不是結束整個循環,而是跳過當前一輪循環體的剩余語句,重新測試循環狀態,準備進入下一輪循環,示例代碼如下:

students =["111","222"]
subjects = ('Python','MySQL','Linux')
for student in students:
    sum = 0
    i = 0
    while (i<len(subjects)):
        print("請輸入%s的%s考試成績:"%(student,subjects[i]))
        score=int(input())
        if(score<0 or score>100):
            print("輸入的成績需要大于0或小100,重新輸入")
            continue;
        sum+=score
        i=i+1
    avg=sum/len(subjects)
    print("%s的平均成績是%d"%(student,avg))
     #結果
>>>
52
請輸入111的MySQL考試成績:
120
輸入的成績需要大于0或小100,重新輸入
請輸入111的MySQL考試成績:
82
請輸入111的Linux考試成績:
100
111的平均成績是78
請輸入222的Python考試成績:
69
請輸入222的MySQL考試成績:
150
輸入的成績需要大于0或小100,重新輸入
請輸入222的MySQL考試成績:
63
請輸入222的Linux考試成績:
50
222的平均成績是60

第1層使用的是for循環遍歷名字,第2層使用while循環遍歷成績,使用continue是跳到離它最近的循環的下一輪,也就是第2層的while循環的下一輪。因為執行continue后,第13行的i=i+1沒有執行,而是重新有執行第6行的while循環,所以就是對當前課程的成績重新輸入。當輸入MySQL的成績為120時,提示數據有誤,然后又提示需要重新輸入MySQL成績,代碼更加健壯。

此博文到此結束,感謝閱讀!

向AI問一下細節
推薦閱讀:
  1. python循環
  2. python if循環

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉荫县| 福州市| 玛纳斯县| 沅陵县| 当阳市| 廊坊市| 金川县| 德钦县| 定结县| 资兴市| 贺兰县| 屯昌县| 聂拉木县| 哈尔滨市| 湘潭县| 兰考县| 平遥县| 迭部县| 遵化市| 开江县| 化州市| 北宁市| 阿克陶县| 赣榆县| 开阳县| 张家港市| 灵川县| 宜兰市| 巴里| 将乐县| 三亚市| 托克托县| 横峰县| 香格里拉县| 山东| 盈江县| 积石山| 区。| 榆林市| 山阴县| 旅游|