第006讲 Python之常用操作符
测试题:
- Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
答:1.5 - a < b < c 事实上是等于?
答:(a<b) and (b<c) - 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
答:0.04 - 如何简单判断一个数是奇数还是偶数?
答:能否被2整除,number%2==0 - 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
答:4 - 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
答:chu=float(year)/4.0;isinstance(int,chu)
正确答案:因为上节课我们还没有教大家“求余”的操作,所以小甲鱼使用了“if year/400 ==
int(year/400)”这样的方式来“委曲求全”。
动动手:
- 请写一个程序打印出 0~100 所有的奇数。
答:
print('------------------打印出0-100所有的奇数------------------')
num = 0
while num<=100:
if num%2 != 0:
print(int(num))
else:
print(" ")
num +=1
正确代码:
print('------------------打印出0-100所有的奇数------------------')
num = 0
while num<=100:
if num%2 != 0:
print(num, end=" ")#用end=“ ”空一格,代替换行。
num += 1
else:
num += 1
-
我们说过现在的 Python 可以计算很大很大的数据,但是…真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
答:将上面代码条件改为num>0,就会一直打印 -
爱因斯坦的难题
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
题目:请编程求解该阶梯至少有多少阶?
答:至少有119阶
print('------------------爱因斯坦的难题------------------')
num = 7
while num < 10000:
num +=1
if ((num%2) == 1) and ((num%3) == 2) and ((num%4) == 3) and ((num%5) == 4) and ((num%6) == 5) and ((num%7) == 0):
print(int(num))
119 539 959 1379 1799 2219 2639 3059 3479 3899
- 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
答:
(1)常用操作符:+ - * / %(取余数) 两个*(幂运算) //(地板除法)
小技巧:a += 5相当于a = a + 5(加减乘除都可)
(2)Python2.x采用地板除法,即//,如3.0//2=1.0
Python3.x采用精确除法
(3)幂运算操作符比左侧操作符优先级高,比右侧操作符优先级低
(4)()括号增加可读性
(5)逻辑操作符:not,and,or优先级从高到低。
Not:一元操作符,取相反bool类型值
and:同时为真为True
or:任一边真为True
(6)优先级:幂运算(**)> 正负号(+ -)> 算术操作( / // + -)> 比较操作(< <= > >= == !=)> 逻辑运算(not and or)
练习题(来自小甲鱼官方论坛)