python運算符+條件結構+循環結構

一,算術運算符

 + – * /

print(1+2)        相加
print("1"+"2")        拼接
print("1"+2)        報錯,數據類型不同
# /求除數  //求整數    %取模   **冪
print(3/2)        輸出1.5
print(3//2)        輸出1
print(3%2)        輸出1
print(3**2)        輸出9

Python中float進行算術運算時,精度丟失問題:

使用Python中的Decimal模塊解決

 ①.導入Decimal模塊

        from decimal import Decimal

②.使用

        變量 = Decimal("float值")

請註意:float類型的值:必須用雙引號包裹

註意:算術運算符的優先級
    ()高於**高於 * / // %高於 + –

數據庫中針對錢,使用Decimal,導入方式如下:

# 單精度(32位)floot
# 雙精度(64位)double
# 計算機的底層都是二進制(小數不能完美轉成二進制)
# 數據庫中如果針對錢  Decimal(10,2)  decimal是字符串小數
print(0.2-0.1)
print(0.6-0.4)

print(Decimal(0.6) - Decimal(0.4))
print(Decimal("0.6") - Decimal("0.4"))

控制臺輸出:

0.1
0.19999999999999996
0.1999999999999999555910790150

二,賦值運算符

多個變量賦值,格式: 變量1,變量2,變量3 = 值1,值2,值3

a,b,c=1,2,3

多個變量賦相同值,格式:變量1=變量2=變量3=值

a=b=c=1

三,比較運算符

>        <        >=        <=        !=        <>

有a+=1,a/=2,a*=2,a-=2,但是沒有a++

註意:比較運算符的特殊情況

四,邏輯運算符

java中的邏輯運算符 : &&並且        //或者

python中的邏輯運算符: and並且        or或者
    ①and運算符
        隻要有一個值為0,則結果為0,否則結果為最後一個非0的數字
    ②or運算符
        隻有所有的值為0結果才為0,否則結果為第一個非0數字

print(True and False)
# 先並且,再或者
print(True and False or True)
# 在python中 0為false,其他數字為true
print(1 and 2)
print(1 and 2 and 0 and 1)
print(1 or 2 or 0 or 1)

控制臺輸出:

False
True
2
0
1

五,位運算符

<< 二進制位數往左邊移動

# 6  110
# print(6<<2)即11000即24
print(6<<2)

>> 二進制位數往右邊移動

# print(6>>2)即1即1
print(6>>2)

& 按位與:位數都為1,則為1,否則為0

# 6  110
# 3  011
# 010控制臺輸出2
print(3&6)

 | 按位或:位數有1,則為1,否則為0

# 6  110
# 3  011
# 111控制臺輸出7
print(3|6)

^ 按位異或:位數相同為0,不同為1

# 6  110
# 3  011
# 101控制臺輸出5
print(3^6)
# 2,4,8,16,32....
# 10,100,10000,10000,100000...
# 1,11,111,1111,11111....
print(4&(4-1))        輸出0
print(8&(8-1))        輸出0
print(9&(9-1))        輸出8

二進制:0,1

八進制:0-7

十進制:0-9

十六進制:0-9  a-f

六,條件運算符

# 條件後移
a=1
b=2
print(a if a>b  else b)       

 輸出2

七,隨機數

  • ①.導入random模塊,import random
  • ②.使用random模塊中隨機數功能,random.randint(開始,結束),註意:包含開始位置和結束位置

石頭剪刀佈遊戲:

ls=["1,✂ ","2,🌰"," 3,🙅‍"]
u=int(input("請輸入[1,✂ 2,🌰 3,🙅‍]"))
c=random.randint(1,3)

win=1 if c+1==4 else c+1
print(f"電腦出瞭{ls[c-1]},玩傢出瞭{ls[u-1]}")
if u==win:
    print("你贏瞭")
elif u==2:
    print("平局")
else:
    print("你輸瞭")

控制臺:

請輸入[1,✂ 2,🌰 3,🙅‍]1                ———手動輸入
電腦出瞭 3,🙅‍,玩傢出瞭1,✂ 
你贏瞭

進程已結束,退出代碼為 0

八,條件結構 

1,if語句

語法格式,if  條件:
                            代碼塊

註意:縮進關系【4個空格或一個Tab制表符】

2,if-else語句

語法格式,if 條件:
                             代碼塊
                  else:
                            代碼塊

3,if-elif-else語句

語法格式,if 條件1:
                               代碼塊
                 elif 條件2:
                              代碼塊
                 else:
                             代碼塊

4,if嵌套

語法格式,if 條件:
                             代碼塊
                  if 條件:
                             代碼塊
                  else:
                            代碼塊

九,循環結構

1,while循環

語法,while  條件:
                         代碼塊

# 使用while輸出1~100的數字
a=1
while a<=100:
    print(a)
    a+=1

2,循環終止

break : 終止循環

continue :退出當前一次循環,繼續執行下次循環

# if,while,for都有else
for i in ls:
    print(i)
    if i>5:
        break
else:#隻要上面的代碼沒有break就執行
    print("yes")

3,for循環

語法,for 臨時變量 in 列表:
                                              代碼塊

ls=[1,2,3,4,5,6,7,8]
sum=0
for i in ls:
    print(i)
    sum+=i
print(sum/len(ls))
print(sum/len(ls))
# range(3) [0,1,2]
for i in range(3):
    print(i)

# 200~300
for i in range(101):
    print(i+200)

4,循環結合else使用

①while…else

語法,while  條件:
                              代碼塊
           else:
                              代碼塊

②for…else

語法,for 臨時變量 in 列表:
                                              代碼塊
           else:
                   代碼塊

# if,while,for都有else
for i in ls:
    print(i)
    if i>5:
        break
else:#隻要上面的代碼沒有break就執行
    print("yes")

到此這篇關於python運算符+條件結構+循環結構的文章就介紹到這瞭,更多相關python結構內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: