白帽駭客學習之路-python篇-控制流

布林值

布林資料型別只有兩種值:True 和False 首字母必須大寫

白帽駭客學習之路-python篇-控制流

比較運算子

比較運算子也稱關係運算子,比較兩個值,求值為布林值

運算子

含義

==

等於

!=

不等於

<

小於

>

大於

<=

小於等於

>=

大於等於

若兩邊的值一樣,==求職為True,若兩邊的值一樣,!=求職為True

布林運算子

用於比較布林的運算子有3個and、or和not。

二元布林運算子

and和or運算子

and和or運算子總是接收兩個布林值(或表示式)所以被認為是“二元”運算子。

如果兩個布林值都為True,and運算子就將表示式求值為True;否則就是False

表示式

求值為

True and True

True

True and True

False

False and False

False

False and True

False

只要有一個值為真,or運算子就將表示式求值為True,如果都是False則求值為False

表示式

求值為

True or True

True

True or False

True

False or True

True

False or False

False

not運算子

not運算子只用於一個布林(或表示式),這使他成為“一元”運算子。not運算子的求值為相反的布林值

表示式

求值為

not True

False

not False

True

混合布林和比較運算子

既然比較運算子的值為布林值,那麼就可以和布林運算子一起在表示式中使用

計算機先求值左邊的表示式在求值右邊的表示式,先求值左邊為True再求值右邊為true,接著True and True 求值為True。

先求值not 運算子,然後求值and運算子,最後求值or運算子

控制流的元素

控制流語句的開始部分通常是“條件”,接下來是一個程式碼塊,稱為“子句”

條件

條件只是在控制流語句的上下文中更具有的名稱。條件總是求值為一個布林值:True或False,幾乎所有的控制流語句都使用條件。

程式碼塊

程式碼塊3個原則:

縮排增加時,程式碼塊開始

程式碼塊可以包含其他程式碼塊

縮排減少為0,或與外面包圍的程式碼塊對齊,程式碼塊就結束了

if迴圈

猜拳遊戲:

白帽駭客學習之路-python篇-控制流

if語句的注意點:

# 1。區間判斷 # 在某些語言中,判斷語句不能連寫,需要使用邏輯運算子來連結 score >=0 and score < 60,在python裡面是可以的 score = float(input(‘輸入你的成績:’)) if 60 > score >=0: print(‘你個垃圾’) # 2。隱式型別轉換 # if後面需要的是一個bool型別的值,如果if後面不是布林型別,會自動轉為布林型別 if 4: print(‘hello’) # 3。三元表示式(對if 。。。。else語言的簡寫) num1 = int(input(‘輸入一個數字:’)) num2 = int(input(‘再輸入一個數字:’)) if num1 > num2: x=num1 else: x=num2 # 以上if。。。。else可以簡寫成 x = num1 if num1 > num2 else num2 print(‘較大的數字’,x)

while迴圈

# 迴圈就是讓一件事重複做多次,python裡面的迴圈風分為while迴圈和for迴圈,while 不支援do。。。while while 4>2: print(‘hello’)

白帽駭客學習之路-python篇-控制流

第一步,判斷條件

第二部,輸出

第三步,判條件是否成立

在條件不成立的時候就停止輸出

python沒有自加 (x++)要寫成 x +=1

x = 0 while x < 10: print(‘hello’) x += 1

求1~100所有偶數的和

i = 0 # 定義一個變數來儲存所有的數字之和 result = 0 while i < 100: i += 1 if i % 2 == 0: # 偶數才被加到y result += i print(result)

for…in迴圈

for i in range(1, 11): print(i) # range 內建類用來生成指定區域的整數序列 # 注意:in後面必須要是一個可迭代物件 # 目前接觸的可迭代物件:字串,列表,字典,元組,集合,range for y in ‘hello’: print(y)

break 和continue

# break 和continue 在python裡只能在迴圈語句 # break:用於結束整個迴圈 # continue:用於結束本迴圈,開啟下一個迴圈 i = 0 while i < 5: if i == 3: i += 1 break print(i) i += 1

不斷要使用者輸入密碼,知道輸入正確的密碼123

username = input(‘賬戶:’) password = input(‘密碼:’) while not (username != ‘zhangsang’and password != ‘123’): username = input(‘賬戶’) password = input(‘密碼’) # 或者是 while True: username = input(‘賬戶’) password = input(‘密碼’) if username == ‘zhangsang’ and password == ‘123’: • break

迴圈巢狀

列印三角星星

白帽駭客學習之路-python篇-控制流

j =0 while j <5: j +=1 i=0 while i

列印九九乘法表

j = 0 while j < 9: j += 1 i = 0 while i < j: i += 1 print(i, ‘*’, j,‘=’, (i * j), end=‘ ’) print()

白帽駭客學習之路-python篇-控制流