Python之常用操作符+习题复习

别等时光非礼了梦想. 提交于 2020-01-22 05:45:00

##算术操作符
在这里插入图片描述
            (加减乘除前面四个和以前的编程语言都一样,小技巧也一样a = a+3可以写成a +=3,等等又如a = a*3,可以写成a *= 3,python中10/8是等于1.25,返回的是一个精确的值,而不是1,要想得到1就用双//,如10//8=1,浮点类型,就得浮点类型,%就是取余数,11%2商5余1,所以结果是1,最后两个**就是幂运算,比如3**2 表示的是3的2次方就是9)
          在这里插入图片描述
          在这里插入图片描述

##优先级问题
在这里插入图片描述
            (总的说就是先乘除后加减,但是单目运算符优先级会比较高,比如-当做负号使用时,当然,有括号就先计算括号的值。需要注意的是幂运算操作符比其左侧的一元操作符即单目运算符优先级高,比其右侧的一元操作符优先级低,如下例子,结果是-9,说明先执行了3的2次幂,在取负数。一元运算符在右侧就先计算一元运算符,变成-2,在执行3的-2次幂)
          在这里插入图片描述
          在这里插入图片描述
##比较操作符
在这里插入图片描述
            (比较操作符就是根据表达式的真假来返回布尔类型的值)

##逻辑操作符
在这里插入图片描述
            (and操作符两边都为真才为真,or操作符只要其中一个为真就为真了,not是一元操作符,只有一个操作数,就是把这个操作数取他相反的布尔类型的值,然后在python中3<4<5是可以的,返回值是True,他被解释为(3<4) and (4<5),但是在其他语言是行不通的)
          在这里插入图片描述

##又是优先级问题
在这里插入图片描述

##温故知新之习题
           0. Python 的 floor 除法现在使用 “ // ” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
           答:(如果回答是 1.5 那么很遗憾, 您受到 C 语言的影响比较大, Python 这里会义无反顾地执行 floor 除法原则,答案是: 1.0 )

           1. a < b < c 事实上是等于?
           答:( (a < b) and (b < c) )

           2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
           答:(0.04 ,也就是 1/25 ,幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。 )

           3. 如何简单判断一个数是奇数还是偶数?
           答:(使用求余可以简单得到答案:能被 2 整除为偶数,所以 x % 2 == 0 ,否则为奇数。 )

           4. 请用最快速度说出答案: not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
           答:(如果你的回答是 0,那么小甲鱼很开心你中招了!
            答案是: 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
           温馨提示:为了更好的表达你的程序, 小甲鱼再次呼吁有些括号还是不能省下的,毕竟不是所有程序员都跟你一样都将优先级烂透于心的。 )

           5. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
           答:(因为上节课我们还没有教大家“求余”的操作, 所以小甲鱼使用了“ if year/400 == int(year/400) ”这样的方式来“委曲求全”。)

##动动手
           0. 请写一个程序打印出 0~100 所有的奇数。

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

在这里插入图片描述
           1. 我们说过现在的 Python 可以计算很大很大的数据,但是…真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
           答:print(2 ** 2 ** 32)
           # 一般很多机子都会在一会儿之后: Memory Overflow ,内存不够用。
           # 设计到幂操作,结果都是惊人滴。

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

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!