码迷,mamicode.com
首页 > 编程语言 > 详细

006:Python之常用操作符

时间:2018-01-23 23:22:41      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:逻辑运算符   有趣   不同   速度   code   指令   编程   not   算术   

笔记

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

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

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

精确除法:除法总是会返回真实的商,不管操作数是整形还是浮点型。执行from future import 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 = 0
while i < 101:
    if i %2 == 1:
        print(i)
        i += 1
    else:
        i += 1

按照答案修改:

i = 0
while 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 = 0
while 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 = 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(‘在程序限定的范围内找不到答案!‘)

006:Python之常用操作符

标签:逻辑运算符   有趣   不同   速度   code   指令   编程   not   算术   

原文地址:https://www.cnblogs.com/superrrrjia/p/8338104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!