第 6 關、消滅該死的重複(下)

1、布爾值

1-1、概念

  • 定義:計算機的邏輯判斷,只有兩種結果,就是True(英文意思是“真”)和False(英文意思是“假”)
print(3<5) #結果爲 True

print(3>5) #結果爲 Flase

print('長安'=='長安') #結果爲 True

print('長安'!='金陵') #結果爲 True

解析:

(1)第一條語句的數據運算是3是否小於5,因爲3確實小於5,所以打印結果爲True

(2)第二條語句的數據運算是3是否大於5,因爲3不大於5,所以打印結果爲False

(3)第三條語句的運算是字符串相等比較,因爲長安等於長安,所以打印結果爲True

(4)第四條語句的運算是字符串不相等比較,因爲長安確實不等於金陵,所以打印結果爲True

  • while循環執行,必須要while後的條件爲“真”。比如 while True 則循環語句會執行,但是 while 3>5 爲 "假",則循環語句不執行
while True:

  print('可執行')

  break

  # 可執行

while 3>5:

  print('執行不了')

  break

  # 不可執行

1-2、數值比較

注意:

  • 前兩種 == 和 !=,這兩種在條件判斷中用得非常多
  • 代碼中,==表示相等關係;而=表示給變量賦值。=和==雖然長得相似,但沒有任何關係

1-3、數值運算

python 中也有默認的真假判斷,以下是我們的分類圖:

1-3-1、bool() 函數

bool() 函數來查看一個數據會被判斷爲真還是假

print('以下數據判斷結果都是【假】:')

print(bool(False))

print(bool(0))

print(bool(''))

print(bool(None))



print('以下數據判斷結果都是【真】:')

print(bool(True))

print(bool(1))

print(bool('abc'))

1-4、布爾值間的運算

布爾值之間常用的運算 and(兩者都)、or(兩者的其中之一)、in(在)、not in(不在)、not(不)。

1-4-1、and

and 是需要左右兩邊的判斷都爲 “真” 才爲 “真”

a=0

b=0

print(a == 0 and b == 0)

print(a == 1 and b == 0)

print(a == 0 and b == 1)

print(a == 1 and b == 1)

# 結果分別爲:True、Flase、Flase、Flase

1-4-2、or

or 是隻需要一個爲 “真” 就爲 “真”

a=0

b=0

print(a == 0 or b == 0)

print(a == 1 or b == 0)

print(a == 0 or b == 1)

print(a == 1 or b == 1)

# 結果分別爲:True、True、True、Flase

1-4-3、in

A=[1,2,3]

print(1 in A)

print(4 in A)

# 結果分別爲:True、Flase

1-4-4、not in

A=[1,2,3]

print(1 not in A)

print(4 not in A)

# 結果分別爲:Flase、True

1-4-5、not

not True就等於False,not False就等於True

1-4-6、總結

2、四種新語句

2-1、break 語句

break 是打斷的意思,例如我們經常陷入死循環的語句,只需要在 print 語句下方加上 break ,就可以使語句跳出循環:

while True:

  print('求打斷')

  break

2-2、continue 語句

continue 的意思是“繼續”。這個子句也是在循環內部使用的。當某個條件被滿足的時候,觸發continue語句,將跳過之後的代碼,直接回到循環頭:

while True:

  a=input('請輸入數字:')

  if a == '23':

    continue

  print('打印不了我~~')

解析:我們輸入 23 後,執行了 if 語句內的內容,進而觸發了 continue 語句,直接回到循環頭,不打印最後的 “打印不了我~~”。

2-3、pass 語句

pass 就是不做任何操作的意思

while True:

  a=input('請輸入數字:')

  if a == '23':

    print('打印不了我~~')

  else:

    pass

解析:我們的 else 語句下方是需要輸入內容的,但是當我們不需要任何內容時,可以輸入 pass 表示什麼都不做。(不輸入 pass 會報錯)

2-4、else 語句

else不但可以和if配合使用,它還能跟for循環和while循環配合使用,當不滿足循環時,執行的語句,用於循環的邏輯判斷。

2-4-1、與 for 套用

for i in range(3):

  print(i)

else:

  print('打印完畢')

解析:遍歷完 range(3) 中的所有數後,執行打印語句。

2-4-2、與 while 套用

a=input('請輸入數字:')

while a < '10':

  print('正確')

else:

  print('猜錯了')

解析:當 a 的值大於等於 10 時,會跳出while循環,執行else語句。

3、習題

3-1、continue + break 語句

實現用戶輸入用戶名和密碼,當用戶名爲 seven且密碼爲123時,顯示登陸成功,否則登陸失敗,失敗時允許重複輸入三次

error_num = 0

while True:

  username = input("請輸入用戶名:")

  password = input("請輸入密碼:")

  if username == 'seven' and password == '123':

    print("登錄成功")

    break

  else:

    print("登錄失敗")

  error_num += 1

  if error_num == 3:

    exit()

  else:

    continue

3-2、break 語句

題目:試着觀察下面的兩個代碼,並說出它們分別能打印出幾次七七最可愛。

for i in range(6):

    print('七七最可愛')

    if i==4:  

        break 

i = 0

while i<6:

    print('七七最可愛')

    i = i+1

    if i==4: 

        break

答案:for 循環打印出 5 次七七最可愛,while 循環打印出 4 次七七最可愛。

解析:在 for 循環中,遍歷 0,1,2,3,4 四次 ,當 i 爲 4 時,是先打印出七七最可愛,再執行 if 語句,跳出循環,從而一共打印 5 次;在 while 循環中,當 i < 6,則有 0,1,2,4,5,但當到了 i=4 的時候打印出七七最可愛,i 就會加 1 變成5,if執行,break跳出循環,則一共只有4次。

3-3、與或語句判斷

題目:以下代碼執行後的結果是?

a='cxk'

b='rap'

print(a==b or a=='cxk')

A、True

B、報錯

C、Flase

D、cxk rap

答案:A

解析:判斷字符 or 是當其中左右的條件滿足一個則輸出內容,上方代碼中 a==b 返回爲 Flase ,但是 a=='cxk' 滿足,而我們的判斷字符爲 or ,故最後的結果輸出爲 True

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章