day2-計算符和if語句

快累死的superman發表於2020-12-09

day2-計算符和if語句

數學運算子

+(加),-(減),*(乘),/(除),//(整除),%(取餘),**(冪運算)

+,-,*,/和數學中的加減乘除功能和用法一模一樣。

注意:/(除法運算)的運算結果是浮點型

print(1+1)
print(2-5)
print(2*5)
print(2/5)
print(5/2)

運算結果可以儲存在變數中

result = 3*4
print(result)

運算物件不一定非得是資料,還可以是變數

num = 10
print(num / 2)

// -求商,商保留整數部分(向小取整)

print(5/2)    # 2.5
print(5//2)   # 2

print(1.8 / 2)   # 0.9
print(1.8 // 2)  # 0.0

print(-2.8 // 2)     # -2
print(-5//2)    # -3

去掉任意整數的個位數

print(num//10)

% -取餘,求餘數

print(5 % 2)     # 1
print(13 % 5)    # 3

取低位數

num = 824
print(num % 10)    # 4
print(num % 100)   # 24

** -冪運算

print(2**3)    # 8
print(3**2)    # 9

注意:次方數如果是N分之一就是開N次方

print(16**0.5)   # 4.0
print(8**(1/3))  # 2.0

比較運算子

>(大於),<(小於),==(等於),!=(不等於),<=(小於等於)

注意:所有比較運算子的運算結果都是布林值

print(10 > 20)    # False
print(10 < 20)    # True
print(10 == 20)   # False
print(10 != 20)   # True
print(10 == 10)   # True
print(10 > 10)    # False
print(10 >= 10)   # True

注意:python支援表示範圍的連寫方式

num = 12.5
print(0 < num < 20)    # True,  (0, 20)
print(10 <= num < 30)  # [10, 30)

運算結果不是一樣要列印,也可以用變數儲存

result = num < 18
print('result:', result)    # result: True

邏輯運算子

邏輯運算:and(邏輯與),or(邏輯或),not(邏輯非)

注意:從應用的角度來講,所有的邏輯運算子的運算結果都是布林

and

應用場景:相當於生活中的並且;用於需要多個條件同時滿足的情況

運算規則:條件1 and 條件2 -如果條件1和條件2都成立結果就是True,只要有一個是不成立的,結果就是False

True and True  ->  True
True and False ->  False
False and True  ->  False
False and False ->  False

or

應用場景:相當於生活中的或者;用於需要多個條件中有一個條件滿足的場景。

運算規則:條件1 or 條件2 -如果條件1或者條件2有一個是True結果就是True,兩個都是False結果才是False

True or True  ->  True
True or False -> True
False or True  -> True
False or False -> False

not

應用場景:對一個條件進行否定。

運算規則:not 條件 - 對指定條件進行否定

not True  -> False
not False -> True

邏輯運算子擴充套件

邏輯運算子的短路操作

邏輯與運算的短路

條件1 and 條件2 - 如果條件1是False,那麼條件2對應的程式碼不執行,結果直接是False

邏輯或運算的短路

條件1 or 條件2 - 如果條件1是True,那麼條件2對應的程式碼不執行,結果直接是True

運算物件不是布林值

邏輯與的通用運算規則

資料1 and 資料2 - 判斷資料1的布林值是否是True,如果是,整個結果就是資料2,否則整個結果就是資料1

資料1 or 資料2 - 判斷資料1的布林值是否是False,如果是,整個接股票是資料2,否則整個結果就是資料1

資料的布林值(任意資料怎麼轉換成布林):

python中所有的資料(不慣什麼型別的資料)都有布林值,

所有的零值(比如0,0.0)和控制(空字串,空列表,空集合等)的布林值是False,其他都是True

print(True and 10)    # 10
print(False and 10)   # False

print(8 and 10)      # 10
print(0.0 and 10)    # 0.0

print(7 or 8)     # 7
print(0 or 8)     # 8

print(not 7)    # False
print(not 0)    # True
print(not '')   # True

賦值運算子

=、+=、-=、*=、/=、//=、%=、**=

注意:

1.所有的複製運算最終的目的是給變數賦值

2.賦值符號左邊必須是變數,右邊可以是任何有結果表示式

3.複合賦值運算子的左邊必須是已經賦值過的變數

運算子的優先順序

數學運算子 > 比較運算子 > 邏輯運算子 > 賦值運算子

數學運算子:** > * , / , % , // > + , -

有括號先算括號裡面的(這兒的括號是小括號)

num = 23

print(num % 3 == 0 and num % 7 == 0)
# print(2==0 and 2==0)
# print(False and False)
# print(False)

a = 10 + 20
print(a)    # 30

result = 10 + 3 > 2 * 10
# result = 10 + 3 > 20
# result = 13 > 20
print(result)   # False

布林參與數學運算的時候 True就是1, False就是0

print(True+1)    # 2
print(False+1)   # 1

print(3 * 3 ** 2)    # 27

分支結構

流程控制

順序執行 - 程式碼從上往下一條一條的按順序執行(預設)

分支結構 - 根據條件選擇執行或者不執行某些程式碼(if語句)

迴圈結構 - 讓一段程式碼重複執行(for迴圈,while迴圈)

分支結構

python中實現能夠實現分支結構的只有if

if單分支 - if

應用場景:如果滿足某個條件就執行某段程式碼,條件不滿足就不執行

語法:

if 條件語句:

​ 程式碼段

說明:

if - 關鍵字;固定寫法

條件語句:任何有結果的表示式(包括:具體的資料,已經賦值過的變數,運算表示式-賦值語句除外)

注意:必須使用英文輸入法下的冒號

程式碼段:和if保持一個縮排的一條或者多條語句:需要滿足條件才會執行的程式碼

執行過程:

先判斷if後面的條件語句是否為True(如果不是布林就看結構的布林值是否是True),

如果是True,就執行程式碼段,否則程式碼段不執行

a = 10
if True:
    print('第一條語句')
    print('第二條語句')
print('第三條語句')
age = 12
if age >= 18:
    print('可以進網咖')

if雙分支結構:if-else

應用場景:滿足條件執行某個操作,不滿足的時候執行另外一個操作
語法:
if 條件語句:
程式碼段1(滿足條件需要執行的程式碼)
else:
程式碼段2(不滿足條件的時候需要執行的程式碼)

執行過程:
判斷條件語句是否為True,如果為True就執行程式碼段1;否則執行程式碼段2。

num = 13
if num % 2 == 0:
    print('偶數')
else:
    print('奇數')
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
    print('閏年')
else:
    print('平年')

相關文章