小甲鱼python视频006Pyhon之常用操作符--笔记 2018.1.1
知识点1:算术操作符,先乘除后加减
参考《笨办法学python》习题3
// 不管整数还是浮点数的除法,它都会是一个地板除法
>>> 10//8
1
**幂运算
>>> 3**2 #3为底数,2为指数
9
幂运算优先级:比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低
>>> -3**2 #等于-(3**2)
-9
>>> 3**-2 #等于3**(-2)
0.1111111111111111
知识点2:比较操作符
《笨办法学python》习题27+28
参考《Python编程快速上手让繁琐工作自动化》P17
知识点3:逻辑操作符
优先级:not > and > or
>>> not 4
False #非0的整数值都是解释为True
知识点4:优先级问题
测试题1:3.0//2.0
答案是:1.0,执行floor除法原则
测试题2:判断奇数还是偶数
答案是:能被2整数为偶数,所以x %2 == 0,否则为奇数。
测试题3:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
答案是:4。
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
3 and 4 == 4
3 or 4 == 3
###
在python语言中支持逻辑运算符,比如:假设以下变量A为 100 ,B为200,那么A and B ==200 ; A or B ==100,
A and B :如果A为False,则 A and B 返回False , 如果A为 True ,则A and B 返回 B 。
A or B : 如果 A 为 False , 则 A or B 返回 B , 如果 A为 True , 则A or B 返回 A 。
在python中,None、任何数值类型中的0、空字符串("")、空元组()、 空列表[]、空字典{}都被当做False,还有自定义类型,如果实现了 __ nonzero __ () 或 __ len __ () 方法且方法返回 0或False,则其实例也被当作False,其他对象均为True。
A and B ==200 ,A为100 (是True),所以逻辑“与”运算的结果就取决于B (B是什么就返回什么)。
A or B == 100,A 为100 (是True),所以逻辑“或”运算的结果就取决于A,因为A是True,所以无论和谁进行逻辑“或”运算的结果都是True 即 A。
###动手题1:打印出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('在程序限定的范围内找不到答案!')