发布只是方便自己看的更清晰,侵删歉!
算术运算符
+(加)、-(减)、(乘)、/(除)、%(取余)、**(乘方)、//(地板除)
/:精确除;//:地板除,取整
>>> 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('在程序限定的范围内找不到答案!')