第三天运算符--三元操作符
运算符
连接操作数之间符号
算数运算符
+,-,,/,%,*(幂运算),//(地板除)
1/2
0.5
# 除法和取余 a = 1 / 2 b = 10 % 3 # 取余,用来计算整除 判断1~100之间偶数 n % 2 == 0 print(a) print(b)
0.5 1
# 计算2的3次方 2^3 a = 4 ** 3 print(a)
64
# 地板除 <取商> a = 4 // 2.0 # 地板除,获取结果的整数部分 print(a)
2.0
算数运算符优先级
- 先乘除,后加减
- 小括号解决一切问题(当你优先级不清楚的时候,用小括号即可)
a = (3 - 2*2**4) / 5 b = 32/5 print(a) print("计算结果:%.2f" % a)
-3.4000000000000004 计算结果:-3.40
练习
- 温度转换(华氏温度,摄氏温度,开氏温度)。
- 摄氏温度:5.0/9.0 X(华氏温度-32)
- 开氏温度:5.0/9.0 X(华氏温度-32)+ 273.15
- 今天摄氏温度37度,求华氏温度和开氏温度
- 审题: 摄氏温度 37 = 5.0/9.0 X(华氏温度-32)==> 37 X 9.0/5.0=华氏温度-32 ==>华氏温度=37 X 9.0/5.0 + 32
然后把求到的华氏温度带入开氏温度公式,就可以求出开氏温度
te = 37 fah = 37 * 9.0/5.0 +32 ko = (fah-32)*5.0/9.0+273.15 print("37°转换成华氏温度是:%s" % fah) print("37°转换成开氏温度是:%s" % ko)
37°转换成华氏温度是:98.6 37°转换成开氏温度是:310.15
重要点
算数运算符需要优先级和%
赋值运算符
a = 1 # 把1赋值给变量a
=,+=,-=,= *= /= //=
b = a+1
a = 1 a += 1 # a+=1 a = a+1 print(a)
2
# 批量赋值 a,b,c = 1,2,3 print(a) print(b) print(c)
1 2 3
# 交换两个的变量的值<要求点> a = 1 b = 2 # 其他语言的写法 # c = a # a = b # b = c a,b = b,a print(a) print(b)
2 1
练习
- 半径为r=2.5的圆,求周长和面积
- 如果是球,求体积 (4/3)πr^3
# 0.1版本写法 硬编码 r = 2.5 c = 2 * 3.14 * r s = 3.14 * r**2 print(c) print(s)
# 02版本写法 拒绝硬编码 r = 2.5 pi = 3.14 c = 2 * pi * r s = pi * r**2 v = (4/3)*pi * r**3 print(c) # 记住格式化 print(s) print(v)
15.700000000000001 19.625 65.41666666666667
求时间
- 从今天的00:00:00起,已经过去了27623秒,求现在是几时几分几秒
-
分析:
- 一个小时是3600s
- 一分钟60s
- 一个小时是3600s
- 从现在开始,经过XXX时间,是几号~~~
seconds = 27623 hour = seconds // 3600 # 得到小时数 minsS = seconds % 3600 # 得到剩下的秒数 mins = minsS // 60 ss = minsS % 60 print("%d时%d分%d秒" % (hour,mins,ss))
7时40分23秒
比较运算符
< >= <= != ==
比较运算符返回的结果是布尔值
1 < 2
True
逻辑运算符
js中,也是其他语言中 && || !
或且非
and or not
1<2 and 2<3 # 你把and当成*号,然后把true当成1,把false当成0 # and 符号,要求两侧必须为true才是true 有一个假就是false
True
3<=2 and 1>2
False
# or运算符 1< 2 or 2>1 # 你把and当成+号,然后把true当成1,把false当成0 # or 符号,要求两侧有一个为true才是true
True
not 1<0
True
逻辑运算符中的短路操作
and *
- 1 < 0 and 2>1 # 你们要注意,千万不要在短路的后面写重要代码
- 1 > 0 or false
特殊运算符
邪性运算符
- is
- is not
- del
is 要求地址和值都一样 # 是IDE给我们做了特殊的处理
a = 2345 b = 2345 print(id(a)) # id你理解成在内存中编号 print(id(b)) a is b
1997050404528 1997050404080
a = 2 # python会提前预制一些值,-5,270 内存中的位置是一样的 b = 2 print(id(a)) # id你理解成在内存中编号 print(id(b)) a is b