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

第六讲:python之常用操作符

一、知识点:

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

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

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

1.比较运算符:

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

2.逻辑运算符:

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

3.成员运算符:

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

4.身份运算符:

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

--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------

二、课后作业:

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 1:
    rang = int(input('请输入阶梯数限定的范围:'))/7
    while i < rang:
        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('该阶梯至少有%d阶'%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)
if flag==1:
    print('总台阶数是',i)
else:
    print('在一定范围内没有对应的台阶数')

--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值