时间:2022-10-14 10:25:36 | 栏目: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
andom.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
语法格式,if 条件:
代码块
注意:缩进关系【4个空格或一个Tab制表符】
语法格式,if 条件:
代码块
else:
代码块
语法格式,if 条件1:
代码块
elif 条件2:
代码块
else:
代码块
语法格式,if 条件:
代码块
if 条件:
代码块
else:
代码块
语法,while 条件:
代码块
# 使用while输出1~100的数字 a=1 while a<=100: print(a) a+=1
break : 终止循环
continue :退出当前一次循环,继续执行下次循环
# if,while,for都有else for i in ls: print(i) if i>5: break else:#只要上面的代码没有break就执行 print("yes")
语法,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)
①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")