1. 程式人生 > >Python學習-day2

Python學習-day2

class python學習 htm use 邏輯 格式 www. 變化 ont

一、while循環,continue、break語句在while循環中的使用

1、while循環語句:

while 條件:

代碼塊

執行過程:判斷條件是否為真,如果為真,執行代碼塊,繼續下次循環,繼續判斷條件真假;如果條件為假,結束當前循環。

代碼1:

技術分享圖片
while True:
    print(Hello world)
View Code

執行上述代碼,程序會持續運行。在實際編程時,很少使用。

代碼2:

技術分享圖片
count = 1
while count <=10:
    print(count)
    count += 1
View Code

執行上述代碼,會輸出1到10。在實際編程中,這種方式經常使用。

舉個一般的栗子:

執行代碼 -> 判斷條件 -> 條件為真,執行循環體(循環體中一般會有操作、改變判斷條件用到的元素--改變初始值,True變為False等)--> 判斷條件有變化 --> 判斷條件變為假 --> 跳出當前循環(本層循環)

2、continue語句

設想有這樣一種需求,循環輸出數字1至數字10中的偶數,該怎麽實現?此時continue語句就派上用場了

代碼段:

count = 1
while count <= 10:
    if count % 2 == 1:    # 對2取余為1,即為奇數,執行if語句對應的代碼塊
        count += 1
        continue
print(count) count += 1

執行結果:

2
4
6
8
10
[Finished in 0.0s]

continue語句作用:結束本次循環,繼續下次循環。

即:如果執行到了continue語句,那麽以上代碼中的print(count) count+=1這兩個語句不會執行,會繼續下次循環,即跳到while後的count <= 10處,繼續做判斷。

3、break語句

再設想有這樣一個簡單的需要,讓用戶輸入登錄用戶名,如果輸入的用戶名正確,提示有效用戶,退出;如果輸入錯誤,繼續讓用戶輸入登錄用戶名

代碼片段:

user_in_db = jason
while
True: user = input(Login name:) if user == user_in_db: print(Valid user name) break print(這句會執行嗎) print(Wrong user name, try again) print(while同級代碼塊)

輸出結果:

Login name:jason
Valid user name
while同級代碼塊

從執行結果可以看出,if判斷條件為真,程序執行到break語句,while循環體中break的後續語句都沒有執行,跳出while循環,執行後續同級代碼塊。

break語句作用:跳出當前循環(本層循環),不再進行while後的條件判斷,繼續執行後續同級代碼塊。

4、while...else語句

代碼塊1:

count = 1
while count <= 5:
    # if count == 3:
    #     break
    print(count)
    count += 1
else:
    print(while循環正常結束)

執行結果:

1
2
3
4
5
while循環正常結束
[Finished in 0.0s]

代碼塊2:

count = 1
while count <= 5:
    if count == 3:
        break
    print(count)
    count += 1
else:
    print(while循環正常結束)

執行結果:

1
2
[Finished in 0.0s]

從代碼塊1和代碼塊2的執行結果可以看出,執行到break跳出的循環,不會執行else後的語句;正常循環結束的,會執行else後的語句。

說明:在 python 中,while … else 表示這樣的意思,while 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 while 不是通過 break 跳出而中斷的)的情況下執行,for … else 也是一樣。

二、格式化輸出

%s 字符串的占位符,後邊給的參數是數字也可以

%d 數字的占位符號

代碼片段:

name = jason
age = 25
print(my name is %s % name)
print("i‘m %s years old" % age)
print("i‘m %d years old" % age)

輸出結果:

my name is jason
i‘m 25 years old i
m 25 years old [Finished in 0.0s]

格式化輸出還有一種format方法,個人也習慣用format的方法去格式化字符串,可以自行百度搜索了解一下。

三、Python中的邏輯運算符

(下方截圖來自菜鳥教程,可以點擊下方圖片跳轉)

技術分享圖片

這裏說明一下這三個運算符的優先級:not > and > or

下面是練習實例,如果能很清楚的算出結果,那麽邏輯運算這塊沒啥大問題。

1) 6 or 2 > 1 
2) 3 or 2 > 1 
3) 0 or 5 < 4 
4) 5 < 4 or 3 
5) 2 > 1 or 6
6) 3 and 2 > 1
7) 0 and 3 > 1
8) 2 > 1 and 3
9) 3 > 1 and 0
10) 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

Answer:
1)6 or True ==> 6 # 先處理比較運算符,再處理邏輯運算
2)3 or True ==> 3
3)0 or False ==> False
4)False or 3 ==> 3
5)True or 6 ==> True
6)3 and True ==> True
7)0 and True ==> 0
8)True and 3 ==> 3
9)True and 0 ==> 0
10)True and 2 or True and 3 and 4 or True -> 2 or 3 and 4 or True ==> 2 

------以上是第二天的學習內容------

Python學習-day2