Python常用操作符,,1.python中的


1.python中的3种除法:传统除法、精确除法、地板除。

传统除法:如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法。

>>>1/2  0  >>>1.0/2.0  0.5  

精确除法:除法总是会返回真实的商,不管操作数是整形还是浮点型。执行fromfutureimport division 指令就可以做到这一点。

>>>from __future__ import division  >>>1/2  0.5  >>>1.0/2.0  0.5  

地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

>>>1//2  0  >>>1.0//2  0  >>>-1//2.0  -1  

2.运算符的优先级:幂运算 > 正负号 > 算术运算符 > 比较运算符 > 逻辑运算符.

测试题

1.请用最快速度说出答案: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
短路逻辑:
if a and b:#如果a是false,那么跳过b的判断,结果直接false。
if a or b:#如果a为true,那么跳过b的判断,直接true

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

i = 0while i < 101:    if i %2 == 1:        print(i)        i += 1    else:        i += 1

按照答案修改:

i = 0while i <= 100:    if i % 2 != 0:        print(i, end=‘ ‘)        i += 1    else:        i += 1

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

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

i = 0while 1:    if i%2==1 and i%3==2 and i%5==4 and i%6==5 and i%7==0:        print(i)        break    else:        i += 1

按照答案修改:

x = 7i = 1flag = 0while 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 += 1if flag == 1:    print(‘阶梯数是:‘, x)else:    print(‘在程序限定的范围内找不到答案!‘)

Python常用操作符

评论关闭