1. 程式人生 > >python筆記—06 講:Pyhon 之常用操作符

python筆記—06 講:Pyhon 之常用操作符

操作數 操作 floor 比較運算符 邏輯 pytho 賦值運算符 輕松 至少

本期內容詳解:
1. 算術運算符: 加(+),減(-),乘(*),除(/),冪運算(**),地板除(//)
1) /和//的區別
在 Python 中的除運算符與其它程序語言的不太一樣,/表示真正的除號,例如 1/3=0.3333333333333333,而 4/2 的值為 2.0。說明兩個數相除的值是一個浮點數,而其它程序語言/卻表示兩個整數相除,只返回一個整數。Python 後來為了兼容這種用法,引入了//來實現。例如 3//2 的值為 1,而 3.0//2 的值為 1.0,且 3//2.0 的值也為 1.0。說明在Python中//符號兩邊同為整數時的值才為整數,否則則為一個浮點數(後面帶’.0’)。
2)**運算符與負號(-)運算符的優先級問題
在 Python 中,?-?在一個數字前面表示成負號,例如-3,-5.12 等。**在-的右邊時,其優先級高於-,例如-2**2 相當於-(2**2)等於-4,而當其在右邊時優先級低於-,如 2**-2 則相當於 2**(-2)等於 0.25.
3)允許運算符與等號一起使用,表示變量本身參加運算並重新賦值給變量,例如 x =5,x+=5 後,x 的值為 10

2.邏輯操作符: and or not
1) x and y 的值計算過程為先判斷 x 的值,如果為 0 則返回 0,否則返回 y 的值, 例如 3 and 4 值為 4;0 and 4 值為 0
2) x or y 的值計算過程為先判斷 x 的值,如果為 0 則返回 y 的值,否則返回 x 的值,例如 3 or 4 的值為 3;0 or 4的值為 4
3) not x 的值的計算過程為先判斷 x 的值,如果為 0 則返回 True,否則返回 False 例如 not 0 的值為 True; not 0.12值為 False
4)三者的優先級 not > and >or

3.比較運算符: < <= > >= == !=
滿足條件為 True 否則為 False,例如 3>4 的值為 False 3<4 的值為 True,且允許使用x<y<z表達式,等同(x<y) and (y<z)

4.賦值運算符: =
平時我們用到最多的就是賦值運算符,例如為變量賦初值等。Python 中允許 x=y=z=2,表示 x,y,z 的值均為 2

5.運算符優先級問題:
首先理解一個概念,幾元運算符指的是運算符的操作數有幾個;一般而言優先級上一元運算符高於二元運算符,算數

運算符優先級>比較運算符>邏輯運算符。

典型課後題
Python 的 floor 除法現在使用 ?//? 實現,那 3.0 // 2.0 您目測會顯示什麽內容呢?

1.0

a < b < c 事實上是等於?

(a<b) and (b<c)

不使用 IDLE,你可以輕松說出 5 ** -2 的值嗎?

0.04,也就是 1/25
冪運算操作符比其左側的一元操作符優先級高,比其右側的一元操作符優先級低。

如何簡單判斷一個數是奇數還是偶數?

這個數除以 2 是否等於 0,等於 0 為偶數、不等於 0 為奇數

請用最快速度說出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

not or and 的優先級是不同的:not > and > or
我們按照優先級給它們加上括號:

(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8and 9)
== 0 or 0 or 4 or 6 or 9
== 4
為啥是 4?
大家還記得第四講作業提到的“短路邏輯”嗎?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4

請寫一個程序打印出 0~100 所有的奇數。
i = 0

while i <= 100:

  if i % 2 != 0:

    print(i, end=‘ ‘)

      i += 1

  else:

    i += 1

愛因斯坦曾出過這樣一道有趣的數學題:有一個長階梯,若每步上 2 階,最後剩 1 階;若每步上 3 階,最後剩 2 階;若每步上 5 階,最後剩 4 階;若每步上 6 階,最後剩 5 階;只有每步上 7 階,最後剛好一階也不剩。
題目:請編程求解該階梯至少有多少階?

技術分享圖片

python筆記—06 講:Pyhon 之常用操作符