python第二阶段函数模块练习

1.闭包需要满足的三个条件是什么?按照上面三个条件创建一个用于计算平方根的闭包函数

代码:

#闭包必须满足三个条件:
# 1. 必须有一个内嵌函数
# 2. 内嵌函数必须引用外部嵌套函数中的变量
# 3. 外部函数返回值必须是内嵌函数

import math
def outerfunc():         #outerfunc为外函数
    y =int(input())     
    def innerfunc():      #innerfunc是内函数
        return math.sqrt(y)
    return innerfunc
func = outerfunc()
sqrtone=func()
print("内函数计算后的平方根是:"+str(sqrtone))

运行结果:

9
内函数计算后的平方根是:3.0

进程已结束,退出代码0


2.输入一个数,使用reduce计算这个数的阶乘

代码:

from functools import reduce
def leiji(x,y):
    return x*y
list=[]
#随意给一个数
i=int(input())
for x in range(1,i+1):
    list.append(x)
    print(list)
#for代表循环取数。
#tapped(函数代表将值插入到列表最后。
reduce(leiji,list)
print(int(reduce(leiji,list)))

运行结果:

5
[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 5]
120

进程已结束,退出代码0


3.实现乘法的重载,将两个列表对应得元素相乘

代码:

a = [1,2,3]
b = [4,5,6,7]
c = zip(a,b)
num = 0
for i,j in c:
    num += i*j
print(num)

运行结果:

32

进程已结束,退出代码0


4.完成鱼、鸟、水鸟的多重继承创建

代码:

class Fish(object):
    def __init__(self,name):
        self.name=name
        print("这是鱼的构造方法,它的名字是:"+self.name)
    def aoyou(self):
            print("鱼的特点是会遨游")
class Bird(object):
    def __init__(self,name):
        self.name=name
        print("这是鸟的构造方法,它的名字是:"+self.name)
    def feixiang(self):
        print("鸟的特点是会飞翔")
class WaterBird(Fish,Bird):
    def __init__(self,name):
        self.name=name
        print("这是水鸟的构造方法,它的名字是:"+self.name)
fishone=Fish("小黄鱼")
fishone.aoyou()
birdone=Bird("小鸟")
birdone.feixiang()
waterbirdone=WaterBird("小水鸟")
waterbirdone.feixiang()
waterbirdone.aoyou()

运行结果:

这是鱼的构造方法,它的名字是:小黄鱼
鱼的特点是会遨游
这是鸟的构造方法,它的名字是:小鸟
鸟的特点是会飞翔
这是水鸟的构造方法,它的名字是:小水鸟
鸟的特点是会飞翔
鱼的特点是会遨游

进程已结束,退出代码0

5.创建一个类,要求内部包含一个用于求和的类方法,一个用于打印求和结果的静态方法

代码:

class TestOne(object):
    @classmethod
    def he(cls,a,b):
        return a+b
    @staticmethod
    def output(a,b):
        print("求和的结果是:"+str(TestOne.he(a,b)))求和的结果是:7

进程已结束,退出代码0

TestOne.he(3,4)
testone=TestOne()
testone.output(3,4)

运行结果:

求和的结果是:7

进程已结束,退出代码0

6.创建一个实例。按昭实例属性的方式分别打印出迷属性和实例属性要求打印的类属性为9,实例属性为5,按照类.属性的方法打印出所有属性,要求其中打印的娄属性值为6

代码:

class Cat(object):
    # 类属性,位于方法外面,类里面,被类的所有实例对象共有
    number=0
    def __init__(self,age):
         # self.属性的属性都是实例属性
        self.age=age
        print("这是猫的构造方法,年龄是:"+self.age+"它的实例属性是age,类属性是number")
catone=Cat("5")
# 使用实例打印类属性
print("cat的类属性是:"+str(catone.number))  # 默认是0
Cat.number=9
print("cat的类属性是:"+str(catone.number))
# 体验用另一个对象调用类属性,因为被共用,打印值还是9
cattwo=Cat("5")
print("cat的类属性是:"+str(cattwo.number))
# 使用实例打印实例属性
print("cat的实例属性是:"+str(catone.age))
# 按照类.属性的方式打印所有属性,其实只能打印类属性
Cat.number=6
print("cat的类属性是:"+str(Cat.number))

运行结果:

这是猫的构造方法,年龄是:5它的实例属性是age,类属性是number
cat的类属性是:0
cat的类属性是:9
这是猫的构造方法,年龄是:5它的实例属性是age,类属性是number
cat的类属性是:9
cat的实例属性是:5
cat的类属性是:6

进程已结束,退出代码0

7.编写一个能实现双色球选号的小程序。


8.要求:双色球选号由7个数字组成,其中有6个红球,其号码的取值范围为[1,33]一个蓝球的取值范围为[1,16]要求6个红球从小到大排列,蓝球在最后输出。其输出格式为09 12 16 20 30 33 |03.(注意,如双色球号码为3,则必须输出03)


9.Python实现井字棋


10.现在有这样—个叫scores.txt的文件,里面有赫敏、哈利、罗恩、马尔福
四个人的几次魔法作业的成绩。
但是 呢,因为有些魔法作业有一定难度,教授不强制同学们必须上交,
所以大家上交作业的次数并不一致。
罗恩233544
哈利6077688890
赫敏979989919590
马尔福1008590
希望你来统计这四个学生的魔法作业的总得分,然后再写入一个txt饺
件。注意,这个练习的全程只能用Python


11.图像增强采用pillw中的imageEnhance处理(图片自选)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值