zoukankan      html  css  js  c++  java
  • 全栈试卷二

    # 第三次作业讲解:
    
    #2.根据范围获取其中3和7整除的所有数的和,并返回调用者
    #符合条件的数字个数以及符合条件的数字的总数和
    def func(start,end):
        n=[]
        sum=0
        for i in range(start,end):
            if i % 3 == 0 and i % 7 == 0:
                n.append(i)
                sum+=i
        print(len(n))
        print('总数和是 %d' %sum)
    func(1,100)
    
    #8、使用 set 集合获取两个列表 l1 = [11, 22, 33], l2 = [22, 33, 44] 中相同的元素集合
    l1 = [11, 22, 33]
    l2 = [22, 33, 44]
    same=set(l1)&set(l2)
    print(same)
    #9、定义函数统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返回给调用者
    def num(ret):
        yy={'大写':0,'小写':0,'数字':0}
        for i in ret:
            i = str(i)
            if i.isupper():
                yy['大写']+=1
            elif i.islower():
                yy['小写']+=1
            elif i.isdecimal():
                yy['数字']+=1
        return yy
    ret=input('>>>')
    print(num(ret)
    
    #11、检查代码,如有错误请改正(禁止运行代码):
    # #a.
    def func(x,y,z):
        print(x,y,z)
    func(1,2,3)
    # # 输出结果为:123
    # #
    # # b.
    def func(x,z,y=5):
          print(x,y,z)
    func(1,3,3)
    # # 输出结果为:133
    # #
    # # c.
    def func(x,y,*z):
       print(x,y,z)
    func(1,2,3,4,5,6)
    # # 输出结果为:12(3,4,5,6)
    # #
    # # d.
    def func(x,y,*z):
       print(x,y,z)
    func(1,2,3,4,5,6,6)
    # # 输出结果为:1 2(3,4,5,6,6)
    # #
    # # e.
    def func(x,*z,**y):
       print(x,y,z)
    func(1,2,3)
    # # 输出结果为:1{}(2,3)
    # #
    # # f.
    def func(x,*y,**z):
       print(x,y,z)
    func(1,name=2,age=3)
    # # 输出结果为:1(){"name":2,"age":3}
    # #
    # # g.
    def func(x,*y,**z):
       print(x,y,z)
    func(1,2,3,4, name=2,age=3)
    # # 输出结果为:1(2,3,4){"name":2,"age":3}
    # #
    # # h.
    def func(x=2,*y,**z):
       print(x,y,z)
    func(name=2,age=3)
    # # 输出结果为:2(){'name':2,'age':3}
    # 13、书写输出结果(禁止运行代码):
    # a.
    def func(*y,**z):
       print(y,z)
    func(1,2,3,4,5)
    # # 输出结果为:(1,2,3,4,5){}
    # #
    # #
    # # b.
    def func(*y,**z):
       print(y,z)
    func([1,2,3,4,5])
    # # 输出结果为:([1,2,3,4,5]){}
    # #
    # # c.
    def func(*y,**z):
       print(y,z)
    func(*[1,2,3,4,5])
    # # 输出结果为:(1,2,3,4,5){}
    # #
    # # d.
    def func(*y,**z):
       print(y,z)
    func(*[1,2,3,4,5],name="alex",age=19)
    # # 输出结果为:(1,2,3,4,5){"name":"alex","age":19}
    # #
    # # e.
    def func(*y,**z):
       print(y,z)
    func(*[1,2,3,4,5], { "name":"alex","age":19})
    # # 输出结果为:(1,2,3,4,5,{ "name":"alex","age":19}){}
    # #
    # # f.
    def func(*y,**z):
       print(y,z)
    func(*[1,2,3,4,5], **{ "name":"alex","age":19})
    # # 输出结果为:(1,2,3,4,5){ "name":"alex","age":19}
    # 14、书写执行结果(禁止运行代码)
    def func1(x=1,*y,**z):
       print(x,y,z)
       return y  #结束的标志
       print(x)
    def func2(arg):
       ret = func1(name=arg)
       print(ret)
    result = func2("Fuck")
    print(result)
    # 输出结果为:1(){"name":"fuck"}  ()     None
    # 15、书写执行结果(禁止运行代码)
    def func(arg):
       arg.append(55)
    li = [11, 22, 33, 44]
    func(li)
    print(li)
    li = func(li)
    print(li)
    # 输出结果为:[11, 22, 33, 44,55]    None
    # 16、书写执行结果(禁止运行代码)
    def f1(arg):
       print(arg+100)
    def f2(arg):
       ret = f1(arg+1)
       print(arg)
       print(ret)
    ret = f2(7)
    print(ret)
    # 输出结果为:108   7   None
    # 17、简述 Python3 中的 range 函数和 Python2.7 中的 range 函数有什么区别
    # 3.x range 不会生成值   只有用的时候才会生成  封装成函数  迭代器
    # 2.7 range 会直接生成一个列表,值已经生成
    #
    # 18、书写执行结果(禁止运行代码)
    a = "oldboy %"
    print(a)
    # # 输出结果为:oldboy %
    b = "oldboy %d %%" % (12,)
    print(b)
    # 输出结果为:oldboy 12%
    # 20、书写执行结果(禁止运行代码)
    def func(a1):
       return a1 + 100
    func = lambda a1: a1 + 200
    ret = func(10)
    print(ret)
    # 输出结果为:210  #函数覆盖
    #23、将字符串 "老男人" 转换成 UTF-8 编码的字节类型
    name='老男人'
    print(bytes(name,encoding='utf-8'))
    print(name.encode('utf-8'))
    
    #24、利用内置函数将十进制数字 12,分别转换成 二进制、八进制、十六进制 表示的字符串
    print(bin(12))
    print(oct(12))
    print(hex(12))
    
    # 26、利用内置函数 zip(),实现功能
    l1 = ["alex",22,33,44,55]
    l2 = ["is",22,33,44,55]
    l3 = ["good",22,33,44,55]
    l4 = ["guy",22,33,44,55]
    # # 请获取字符串 s = "alex_is_good_guy"
    print('_'.join((list(zip(l1,l2,l3,l4))[0])))
    
    # 27、判断输出结果是否相同?并可得到什么结论?
    def f1(arg):
       print(id(arg))
    n = 1111111
    print(id(n))
    f1(n)
    # 输出的两个值是否相同:   相同
    # 执行函数是调用变量值不是复制
    #
    # 28、书写执行结果(禁止运行代码)
    # a.
    NAMELIST = ["alex", "eric"]
    def func():
       NAMELIST = 123
    func()
    print(NAMELIST)
    # 输出结果为:["alex", "eric"]
    # b.
    NAMELIST = ["alex", "eric"]
    def func():
       global NAMELIST
       NAMELIST = 123
    func()
    print(NAMELIST)
    # 输出结果为:123
    # c.
    NAMELIST = ["alex", "eric"]
    def func():
       NAMELIST.append("seven")
    func()
    print(NAMELIST)
    # 输出结果为:["alex", "eric","seven"]
    # d.
    NAMELIST = ["alex", "eric"]
    def func():
       NAMELIST = 123
       global NAMELIST
    func()
    print(NAMELIST)
    # 输出结果为:["alex", "eric"]
    # 29、书写执行结果(禁止运行代码)
    # a.
    name = "root"
    def func():
       name = "seven"
       def outer():
           name = "eric"
           def inner():
               global name
               name = "蒙逼了吧..."
           print(name)
       print(name)
    ret = func()
    print(ret)
    print(name)
    # 输出结果为:seven   None root
    # b.
    name = "root"
    def func():
       name = "seven"
       def outer():
           name = "eric"
           def inner():
               global name
               name = "蒙逼了吧..."
           print(name)
       o = outer()
       print(o)
       print(name)
    ret = func()
    print(ret)
    print(name)
    # 输出结果为:eric  None   seven   None root
    # c.
    name = "root"
    def func():
       name = "seven"
       def outer():
           name = "eric"
           def inner():
                   global name
                   name = "    ..."
           print(name)
           inner()
       o = outer()
       print(o)
       print(name)
    ret = func()
    print(ret)
    print(name)
    # 输出结果为:eric    None   seven   None       ...
    # d.
    name = "root"
       def func():
           name = "seven"
           def outer():
               name = "eric"
               def inner():
                   nonlocal name
                   name = "蒙逼了吧..."
                   print(name)
               inner()
            o = outer()
            print(o)
            print(name)
    ret = func()
    print(ret)
    print(name)
    # 输出结果为:
    # 30、书写执行结果并解释每一步操作
    # a.
    name = "苍老师"
    def outer(func):
       name = 'alex'
       func() #结果,就是执行的show
    def show():
       print(name)
    outer(show)
    # 结果:苍老师
    #
    #
    # b.
    name = "苍老师"
    def outer():
       name = "波多"
       def inner():
           print(name)
       return inner()
    ret = outer()
    print(ret)
    # 输出结果为:波多 None
    # c.
    name = "苍老师"
    def outer():
       name = "波多"
       def inner():
           print(name)
       return inner
    ret = outer()
    ret()
    print(ret)
    result = ret()
    print(result)
    # 输出结果为:波多  inne的内存地址  None
    #
    #
    # d.
    name = "苍老师"
    def outer():
       name = "波多"
       def inner():
           print(name)
       return inner  #返回内存地址
    ret = outer()
    print(ret)
    result = ret()#执行inner函数,打印波多
    print(result)#inner无返回值 打印的是None
    # 输出结果为:inner的内存地址  波多   None
    #
    # e.
    name = "苍老师"
    def outer(func):
       def inner():
           name = "李杰"
           func()
       return inner
    def show():
       print(name)#打印全局的
    outer(show)()
    # 输出结果为:苍老师
    #
    # 31、书写执行结果并解释每一步操作
    #a.
    def outer(func,z,y):
       func(z)
    def show(x):
       return x * x
    ret = outer(show,9,23)
    print(ret)
    # 输出结果为:None
    #
    # # c.
    def outer(func,z,y):
       return func(z)
    def show(x):
       return x * x
    ret = outer(show,9,23)
    print(ret)
    # 输出结果为:81
    #
    def outer(func,z,y):
       func(z,y)
    f1 = lambda x,y: x + y
    ret = outer(f1,11,23)
    print(ret)
    # 输出结果为:None
    #
    # d.
    def outer(func,z,y):
       return func(z,y)
    f1 = lambda x,y: x + y
    ret = outer(f1,11,23)
    print(ret)
    # 输出结果为:34
    #
    # 32、写输出结果
    # a.
    def f5(arg):
       arg.append('偷到 500 万')
    def f4(arg):
       arg.append('开第四个门')
       f5(arg)
       arg.append('关第四个门')
    def f3(arg):
       arg.append('开第三个门')
       f4(arg)
       arg.append('关第三个门')
    def f2(arg):
       arg.append('开第二个门')
       f3(arg)
       arg.append('关第二个门')
    def f1(arg):
       arg.append('开一个门')
       f2(arg)
       arg.append('关一个门')
    user_list = []
    result = f1(user_list)
    print(user_list)
    print(result)
    # # 输出结果为:['开一个门','开第二个门','开第三个门','开第四个门''偷到 500 万','关第四个门','关第三个门','关第二个门','关一个门']   None
    # #
    # # b.
    def f5(arg):
       arg = arg + 5
    def f4(arg):
       arg = arg + 4
       f5(arg)
       arg = arg + 4
    def f3(arg):
       arg = arg + 3
       f4(arg)
       arg = arg + 3
    def f2(arg):
       arg = arg + 2
       f3(arg)
       arg = arg + 2
    def f1(arg):
       arg = arg + 1
       f2(arg)
       arg = arg + 1
    num = 1
    result = f1(num)
    print(num)
    print(result)
    # 输出结果为:1 None
    #
    # c.
    def f5(arg):
       arg = arg + 5
       return arg
    def f4(arg):
       arg = arg + 4
       f5(arg)
       arg = arg + 4
       return arg
    def f3(arg):
       arg = arg + 3
       f4(arg)
       arg = arg + 3
       return arg
    def f2(arg):
       arg = arg + 2
       f3(arg)
       arg = arg + 2
       return arg
    def f1(arg):
       arg = arg + 1
       f2(arg)        #  执行完f2(arg)  因为无法返回则为3
       arg = arg + 1
       return arg
    num = 1
    result = f1(num)
    print(num)
    print(result)
    # 输出结果为
    #33、利用递归实现 1*2*3*4*5*6*7=5040
    #法一:
    from functools import reduce
    res=reduce(lambda x,y:x*y,[x for x in range(1,8)])
    print(res)
    #法二:
    def func(x,y):
       y *= x
       x += 1
       if x == 8:
          return y
       return  func(x,y)
    res=func(2,1)
    print(res)
    # 34 a. 利用 filter、自定义函数 获取 l1 中元素大于 33 的所有元素 l1 = [11, 22, 33, 44, 55]
    l1 = [11, 22, 33, 44, 55]
    res=filter(lambda x:x > 33,l1)
    print(list(res))
    # b.利用 filter、lambda 表达式 获取 l1 中元素小于 33 的所有元素 l1 = [11, 22, 33, 44, 55]
    l1 = [11, 22, 33, 44, 55]
    res=filter(lambda x:x < 33,l1)
    print(list(res))
    # c.利用 map、自定义函数 将所有是奇数的元素加 100 l1 = [11, 22, 33, 44, 55]
    l1 = [11, 22, 33, 44, 55]
    def jsj(i):
       if i % 2 ==1:
          i = i + 100
          return i
       else:
          return i
    print(list(map(jsj,l1)))
    # d.利用 map、lambda 表达式 将所有是偶数的元素加 100 l1 = [11, 22, 33, 44, 55]
    l1 = [11, 22, 33, 44, 55]
    res=map(lambda i:i+100 if i%2==0 else i,l1)
    print(list(res))
    
    #36、第一个列表中的数字无序不重复排列,第二个列表为空列表
    # 需求:
    # 取出第一个列表的最小值 放到第二个列表的首个位置,
    # 取出第一个列表的最小值(仅大于上一次的最小值) 放到第二个列表的首个位置,
    # 取出第一个列表的最小值(仅大于上一次的最小值) 放到第二个列表的首个位置, ...
    # 依此类推,从而获取一个有序的列表 l2,并将其返回给函数调用者。
    l1 = [1,5,4,6,8,3,2,9,0]
    l2 = []
    def func(la,lb):
        if len(la) ==0:
            return lb
        lb.insert(0,la.pop(la.index(min(la))))
        ret = func(la,lb)
        return ret
    func(l1,l2)
    print(l2)
    #37、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,
    # 还是不过瘾又多吃 了一个。以后每天都吃前一天剩下的一半再加一个。到第 10 天刚好剩一个。
    # 问猴子第一天摘了多少个桃子?1534
    
    n = 1
    func =lambda x:(x+1)*2
    for i in range(9):
       n =func(n)
    print(n)
  • 相关阅读:
    spring cloud stream定时器 配置rabbitmq插件安装
    字母、单词统计
    动手动脑
    原码补码反码
    ATM
    开学第一课
    周进度报告8
    周进度报告7
    JavaWeb进度报告1
    周进度报告6
  • 原文地址:https://www.cnblogs.com/chenshengqun/p/9112013.html
Copyright © 2011-2022 走看看