小甲鱼Python3学习笔记之第六讲(仅记录学习)

时间:2022-01-12 22:05:00

第六讲:python之常用操作符

一、知识点:

0.算术运算符:+,-,*,/,%(取模,即求余数),**(幂运算),//(地板除法,取整除,返回商的整数部分)

小甲鱼Python3学习笔记之第六讲(仅记录学习)

备注:①双斜杠 // 除法总是向下取整。 

           ②从符点数到整数的转换可能会舍入也可能截断,建议使用math.floor()和math.ceil()明确定义的转换

1.比较运算符:

运算符 描述
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于
!= 不等于
  • 八个比较运算符优先级相同。
  • Python允许x < y <= z这样的链式比较,它相当于x < y and y <= z。 
  • 复数不能进行大小比较,只能比较是否相等。

2.逻辑运算符:

小甲鱼Python3学习笔记之第六讲(仅记录学习)

or是个短路运算符,它只有在第一个运算数为False时才会计算第二个运算数的值。
and也是个短路运算符,它只有在第一个运算数为True时才会计算第二个运算数的值。
not的优先级比其他类型的运算符低,所以not a == b相当于not (a == b),而 a == not b是错误的。

3.成员运算符:

python支持成员运算符,包括字符串、列表和元组。

小甲鱼Python3学习笔记之第六讲(仅记录学习)

4.身份运算符:

用于比较两个对象的存储单元ID(),而==是比较两个对象的value值。

小甲鱼Python3学习笔记之第六讲(仅记录学习)

-------------------------------------------------------------------------------------------------------------------------

二、课后作业:

0.Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?

显示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

4。 not or and 的优先级是不同的:not > and > or。 我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and6) or (7 and 8 and 9)== 0 or 0 or 4 or 6 or 9== 4。

-------------------------------------------------------------------------------------------------------------------------

三、动动手:

0.请写一个程序打印0-100所有的奇数。

i=0
while i <= 100:
    if i%2 != 0:
        print(i)
    i += 1
1.我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?
print(2 ** 2 ** 32)  # 一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。

                             # 设计到幂操作,结果都是惊人滴。

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

step = 7
i = 1
flag = 0
while i<=100:
    if step%2==1 and step%3==2 and step%5==4 and step%6==5:
        flag=1
    else:
        step=7*(i+1)
    i += 1
if flag ==1:
    print('阶梯数是:',step)
else:
    print('在程序限定的范围内找不到答案')

flag = 0
i = 7
for j in range(100):
    if i%2==1 and i%3==2 and i%5==4 and i%6==5 and i%7==0:
        flag = 1
    else:
        i=7*(j+1)
    j += 1
if flag==1:
    print('总台阶数是',i)
else:
    print('在一定范围内没有对应的台阶数')
-------------------------------------------------------------------------------------------------------------------------