目录
一,算术运算符
-
- * /
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
五,位运算符
<< 二进制位数往左边移动(往后面加0)
# 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)
# 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
| 按位或:位数有1,则为1,否则为0
# 6 110
3 011
111控制台输出7
print(3|6)
^ 按位异或:位数相同为0,不同为1
# 6 110
3 011
101控制台输出5
print(3^6)
二进制: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+14 else c+1
print(f"电脑出了{ls[c-1]},玩家出了{ls[u-1]}")
if uwin:
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,循环终止
passs 什么也不干
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”)