【榆钱】小甲鱼python课后习题第6课

【仅记录学习交流使用】

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

1.0

【解】

       1. x/y:
        真除法。其结果对整数省去小数部分,对浮点数保留小数部分

        2.x//y:
        地板除法。其结果全部省略掉小数部分,若有浮点型则返回浮点型,若为整数则返回整数

1. a < b < c 事实上是等于?

 a<b and b<c

【解】

        关于and和or与c语言中逻辑运算的异同

        1.当两个操作数均为逻辑值时,与通常的逻辑运算一致;

        2.否则,a and b,在a为false时,返回a,否则返回b

                     a or b,在a为true时,返回a,否则返回b

 

2. 不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?

0.04

【解】

        **表示幂运算

        如题表示5的-2次方,结果为1/25

        python中操作符运算顺序由高到低依次为: 
        1. 幂运算:** 
        2. 正负号:+X,-X 
        3. 算术操作符:*,/,//,+,- 
        4. 比较操作符:<,<=,>,>=,==,!= 
        5. 逻辑运算符:not,and,or

        (幂运算比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低)


3. 如何简单判断一个数是奇数还是偶数?

用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>and>or

       (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)

        a and b,在a为false时,返回a,否则返回b,得到:

        0 or 0 or 4 or 6 or 9

        根据逻辑操作符的惰性求值规则(当遇到一次真时不再继续往下计算)

        a or b,在a为true时,返回a,否则返回b

        0 or 4,故返回4,结果为4

 

5. 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还
记得用什么方法可以“委曲求全”代替“ %”的功能呢?

if year/400 == int(year/400) and (year/4==int(year/4) and year/100!=int(year/100))

 

动动手:

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

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


1. 我们说过现在的 Python 可以计算很大很大的数据,但是 ......真正的大数据
计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?

随便写个幂函数就行,eg:print(2**10**10**10)

 

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

解法1:

i=7
flag=0
while i<100000 and flag==0:
    if (i%2==1) and (i%3==2) and (i%5==4) and (i%6==5)and (i%7)==0:
        print(i)
        flag=1
    else:
        i+=1
print('程序已执行完成!')

解法2:

i=7
flag=0
while i<100000 and flag==0:
    if (i%7)==0:
        if (i%2==1) and (i%3==2) and (i%5==4) and (i%6==5):
            print(i)
            flag=1
        else:
            i+=1        
    else:
        i+=1
print('程序已执行完成!')

【其实两个写法差不多】

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值