纵有疾风起
人生不言弃

06 讲:Pyhon 之常用操作符

本期内容详解:
1.  算术运算符: 加(+),减(-),乘(*),除(/),幂运算(**),地板除(//)
1) /和//的区别
在 Python 中的除运算符与其它程序语言的不太一样,/表示真正的除号,例如 1/3=0.3333333333333333,而 4/2 的值为 2.0。说明两个数相除的值是一个浮点数,而其它程序语言/却表示两个整数相除,只返回一个整数。Python 后来为了兼容这种用法,引入了//来实现。例如 3//2 的值为 1,而 3.0//2 的值为 1.0,且 3//2.0 的值也为 1.0。说明在Python中//符号两边同为整数时的值才为整数,否则则为一个浮点数(后面带’.0’)。
2)**运算符与负号(-)运算符的优先级问题
在 Python 中,„-‟在一个数字前面表示成负号,例如-3,-5.12 等。**在-的右边时,其优先级高于-,例如-2**2 相当于-(2**2)等于-4,而当其在右边时优先级低于-,如 2**-2 则相当于 2**(-2)等于 0.25.
3)允许运算符与等号一起使用,表示变量本身参加运算并重新赋值给变量,例如 x =5,x+=5 后,x 的值为 10


2. 逻辑操作符: and or not

1) x and y 的值计算过程为先判断 x 的值,如果为 0 则返回 0,否则返回 y 的值, 例如 3 and 4 值为 4;0 and 4 值为 0
2) x or y 的值计算过程为先判断 x 的值,如果为 0 则返回 y 的值,否则返回 x 的值,例如 3 or 4 的值为 3;0 or 4的值为 4
3) not x 的值的计算过程为先判断 x 的值,如果为 0 则返回 True,否则返回 False 例如 not 0 的值为 True; not 0.12值为 False

4)三者的优先级 not > and >or


3.  比较运算符: < <= > >= == !=
满足条件为 True 否则为 False,例如 3>4 的值为 False 3<4 的值为 True,且允许使用 x<y<z 表达式,等同(x<y) and

(y<z)


4.  赋值运算符: =

平时我们用到最多的就是赋值运算符,例如为变量赋初值等。Python 中允许 x=y=z=2,表示 x,y,z 的值均为 2


5.  运算符优先级问题:
首先理解一个概念,几元运算符指的是运算符的操作数有几个;一般而言优先级上一元运算符高于二元运算符,算数

运算符优先级>比较运算符>逻辑运算符。



测试题:
0. Python 的 floor 除法现在使用 ‚//‛ 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
1.0


1. a < b < c 事实上是等于?
a<b, and b<c


2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
5 的-2 次幂,最后等于 0.04


3. 如何简单判断一个数是奇数还是偶数?
这个数除以 2 是否等于 0,等于 0 为偶数、不等于 0 为奇数


4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
not or and 的优先级是不同的:not > and > or
我们按照优先级给它们加上括号:

(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8and 9)
== 0 or 0 or 4 or 6 or 9
== 4
为啥是 4?
大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4



动动手:
0. 请写一个程序打印出 0~100 所有的奇数。


print(“100 内的奇数有:”)
num = 100
while num>0:
if num%2 == 1:
print(num)
num = num – 1


2. 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶;只有每步上 7 阶,最后刚好一阶也不剩。

题目:请编程求解该阶梯至少有多少阶?


x = 7
i = 1
flag = 0
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = 1
else:
x = 7 * (i+1) # 根据题意,x 一定是 7 的整数倍,所以每次乘以 7
i += 1
if flag == 1:
print(‘阶梯数是:’, x)
else:
print(‘在程序限定的范围内找不到答案!’)


原文链接:https://lookme.blog.csdn.net/article/details/53868959

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » 06 讲:Pyhon 之常用操作符
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录