07-python之常用操作符

发布只是方便自己看的更清晰,侵删歉!

算术运算符

+(加)、-(减)、(乘)、/(除)、%(取余)、**(乘方)、//(地板除)


/:精确除;//:地板除,取整

>>> 5 / 3
1.6666666666666667
>>> 5 // 3
1

%取余

>>> 5 % 3
2

**乘方,幂运算
-负号在前,优先级高;负号在后,优先级低

>>> 3 ** 2
9
>>> -3 ** 2
-9
>>> 3 ** -2
0.1111111111111111

逻辑运算符

and 全真为真,有假为假
or    有真为真,全假为假

>>> 1 > 2 or 1 < 2
True
>>> 1 > 0 or 1 < 2
True
>>> 1 < 0 or 1 > 2
False

not  假的变真,真的变假

>>> not True
False
>>> not False
True
>>> not 3
False
>>> not 0
True

优先级


课后习题

0. Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.0
2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
0.04,也就是 1/25
4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
答案是:4

not or and 的优先级是不同的:not > and > or

我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4

为啥是 4?
大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4


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

i = 0
while i <= 100:
    if i % 2 != 0:
        print(i, end=' ')
        i += 1
    else:
        i += 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('在程序限定的范围内找不到答案!')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容