【榆钱】小甲鱼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
    评论
要在 Python 中更换照片的背景色,可以使用图像处理库 OpenCV 和 NumPy。以下是一个简单的示例代码,演示了如何将照片的背景色更换为指定的颜色: ```python import cv2 import numpy as np def change_background_color(image_path, new_color): # 读取图片 image = cv2.imread(image_path) # 转换为 RGB 颜色空间 image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 提取带有 alpha 通道的图像 alpha = image[:, :, 3] # 创建新的背景图像 new_background = np.zeros_like(image[:, :, :3], dtype=np.uint8) new_background[:, :] = new_color # 合并图像,将 alpha 通道应用到新的背景上 new_image = np.zeros_like(image) new_image[:, :, :3] = new_background new_image[:, :, 3] = alpha # 转换为 BGR 颜色空间 new_image = cv2.cvtColor(new_image, cv2.COLOR_RGB2BGR) # 显示结果并保存图片 cv2.imshow("Original Image", cv2.cvtColor(image, cv2.COLOR_RGB2BGR)) cv2.imshow("New Image", new_image) cv2.waitKey(0) cv2.destroyAllWindows() cv2.imwrite("new_image.png", new_image) # 调用函数进行背景色更换 change_background_color("image.png", (255, 0, 0)) ``` 请确保在运行代码之前已经安装了 OpenCV 和 NumPy 库。代码中的 `image.png` 是要更换背景色的原始图像路径,`(255, 0, 0)` 是新的背景色(以 RGB 格式表示)。 运行代码后,会弹出两个窗口,一个显示原始图片,一个显示更换背景色后的图片。同时,也会将新的图片保存为 `new_image.png`。 请根据实际情况修改代码,以适应你的需求。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值