FIsh论坛《零基础入门学习Python》| 第006讲 课后测试题及答案

本文深入解析Python中的各类操作符,包括真除法与地板除法的区别,并通过实例演示了如何利用这些操作符解决实际问题,如判断奇偶数、求解复杂数学题目等。

第006讲:Python之常用操作符 | 课后测试题及答案

在这里插入图片描述

测试题答案:

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

1.0

/(真除法)和//(地板除法)

python3.0
/总是执行真除法,不管操作数的类型,都返回浮点数结果(即使能整除,如4/22.0);
//执行Floor除法,会截断余数直接返回一个整数,如果有任何一个操作数是浮点数则返回浮点数
(如4//2
2,3//21, 4.0//22.0)
总之:在python3.0中,/为真除法,不会截断,且结果无论能否整除都是浮点数;//为地板除法,会对除法的结果进行取整返回,至于返回的结果是否是浮点数取决于操作数中有无浮点数,如两个操作数都是整数那么就直接返回一个取整后的整数,如果操作数中有浮点数则返回结果是浮点数。
注意
在3.0中,/的结果总是返回浮点数与操作数类型无关,而//的结果总是依赖于操作数的类型,如果有一个是浮点数结果就是浮点数
1.a<b<c 事实上等于?

a<b and b<c

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

1/25

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

模2取余,等于0为偶数,等于1为奇数

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

动手答案:

1.打印1-100偶数、奇数:

num = 100
while num:
    if num % 2 == 0:
        print("偶数为:%s" % num,end='\n')
        num -= 1##不要遗漏
    else:
        print('奇数为:%s' % num,end='\n ')
        num -= 1

附加:

print("输出0~100所有的奇数")
for i in range(100):
    if i%2 == 1:
        print(i)

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

i = 1
x = 7
flag = 0

while i < 100:
    i = i + 1
    if (x%2==1)and(x%3==2)and(x%5==4)and(x%6==5):
        flag = 1
    else:
        x = 7*i
if flag ==1:
    print("阶梯数是:",x)
else:
    print("请扩大范围!")
 

附上小甲鱼代码:

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

有问题的代码(待完善):

n = 1  ##num=7*n
num = 7

flag = 0

while n < 100:
    n = n + 1
    x = (7 * n - 1) / 2
    y = (7 * n - 2) / 3
    z = (7 * n - 4)/ 5
    m = (7 * n - 5) / 6
    num = 7 * n
    #X、y、z、m小数位为0,则继续执行
    #if isinstance(x,int) and isinstance(x,int)
    if (2 * x + 1 == num) and (3 * y + 2==num) and (5 * z + 4==num)and (6 * m + 5 == num):
        flag = 1
    else:
        num = 7 * n
if flag == 1:
    ##print("阶梯数是:", num, "x,y,z,m,n分别是:", 2 * x + 1 , 3 * y + 2, 5 * z + 4, 6 * m + 5, n,type(n))
    print("阶梯数是:", num, "x,y,z,m,n分别是:",  x , y ,  z , m , n, type(n))
else:
    print("请扩大范围!")
输出结果:
阶梯数是: 700 x,y,z,m,n分别是: 699 698 699 695 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值