• python基础学习——函数作业


    1、列举布尔值为False的值

      空、0、False、[]、{}、()、None

    2、根据范围获取其中3和7整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的综合,如:def func(start,end)

    def func(start,end):
        count=0
        sumn=0
        for i in range(start,end):
            if i%3==0 and i%7==0:
                count +=1
                sumn  +=i
        return count,sumn
    t1=func(1,43)
    print(t1)

    3、函数的默认返回值是None

    4、简述break/continue/return的区别

      break结束当前层的循环

      continue结束本次循环进入下一次循环

      return结束函数,并返回结果,默认为None

    5、简述三元运算书写格式并举例说明

      变量=值一 if 条件一 else 值二

    6、简述lambda表达式书写格式并举例

      匿名函数:函数名=lambda 形参:功能,不写函数名也可以,节约内存空间,调用完内存随机被释放

      eg:lambdax :x=x-1

    7、使用set集合获取两个列表L1=[11,22,33],L2=[22,33,44]中相同的元素集合

    L1=[11,22,33]
    L2=[22,33,55]
    L3=set(L1)&set(L2)
    print(L3)

    8、简述函数的位置参数、关键字参数、默认参数、可变长参数的特点以及注意事项

      位置参数:按形参的位置参入,形参与实参必须一一对应

      关键字参数:位置无需固定

      默认参数:形参直接指定默认值的参数

      可变长参数:*列表相关,**字典相关

    9、读取执行结果

    def func(*y,**z):
        print(y,z)
    func(*[1,22,33],{"name":"cc","age":18})
    #结果:(1, 22, 33, {'age': 18, 'name': 'cc'}) {}
    #方式二:
    def func(*y,**z):
        print(y,z)
    func(*[1,22,33],**{"name":"cc","age":18})
    #结果:(1, 22, 33) {'name': 'cc', 'age': 18}
    def func(x,*z,**y): #一个**y要在*z的前面
        print(x,y,z)
    func(1,2,3)
    
    #结果:1 {} (2, 3)
    def func(x,*y,**z):
        print(x,y,z)
    func(1,name=2,age=3)
    #结果:1 () {'name': 2, 'age': 3}
    def func1(x=1,*y,**z):
        print(x,y,z)#3:1,y空(),{"name":"Fuck]
        return y    #4:返回y空表
        print(x)    #本函数已经返回,返回下面的内容不执行
    def func2(arg):
        ret=func1(name=arg) #2:执行func1
        print(ret)     #5,执行完4后func1返回为空列表,所以ret是空元组
    result=func2("Fuck") #第一步:函数执行
    print(result)     #6 func2无返回return,所以fun2的执行结果为空None
    
    #结果:
    1 () {'name': 'Fuck'}
    ()
    None
    def func(arg):
        arg.append(55)
    li=[11,22,33,44]
    func(li)
    print(li)
    li=func(li) #li已经重新赋值了,所以是None
    print(li)
    
    #结果:[11, 22, 33, 44, 55]
    None
    def func(a1):
        return a1+100
    func=lambda a1:a1+200  #func(a1)和func 相同函数。后一个func覆盖前一个func(a1)
    ret=func(10)
    print(ret)
    #结果 210

     9、一个函数嵌套调用另一函数

    name="CC"
    def outer(func):
        name="娜娜"
        func() #结果就是执行的show,show和func调用的是同一个内存
    def show():
        print(name)
    outer(show)

    10、递归1-8的阶乘

    #1-8的阶乘
    def f(n):
        if n==1:
            return 1
        return n*f(n-1)  #8*f(7) 7*f(6)....2*f(1) 1,然后从1开始向上递归
    ret=f(8)
    print(ret)

    11、写程序利用withs实现同时打开两个文件(一读一写,并将读取的内容写入到写入模式的文件中)

    #写程序利用withs实现同时打开两个文件(一读一写,并将读取的内容写入到写入模式的文件中)
    
    with open("a","r") as x,open("b","w") as y:
        y.write(x.read())
  • 相关阅读:
    设计模式第四篇-工厂模式
    设计模式第三篇-装饰者模式
    设计模式第二篇-观察者模式
    设计模式第一篇-策略模式
    一元多项式的加/减法运算
    圆桌问题
    求有序序列的交集(链表)
    悲剧文本
    求序列的交集(链表)
    集合的操作
  • 原文地址:https://www.cnblogs.com/xucuiqing/p/11762033.html
Copyright © 2020-2023  润新知