• python练习题4


    1.将字符串“老男孩”转换成UTF-8编码的字节类型

    s = "老男孩"
    bytes(s,'utf8')
    s.encode('utf8')

    2.简述globals(),locals()的作用

    答:globals()获取所有的全局变量

      locals()获取所有局部变量

    3.利用内置函数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"

    l1 = ["alex",22,33,44,55]
    l2 = ["is",22,33,44,55]
    l3 = ["good",22,33,44,55]
    l4 = ["guy",22,33,44,55]
    print("_".join(list(zip(l1,l2,l3,l4))[0]))

    4.书写执行结果

    a.

    name = "苍老师"
    def outer(func):
        name = 'alex'
        func()
    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)

    输出结果为:波多   <function outer.<locals>.inner at 0x000002383F865598>    波多   None

    d.

    def outer(func,z,y)
        return func(z)  #若无return 则输出None
    def show(x)
        return x*x
    ret = outer(show,9,23)
    print(ret)

    输出结果为:81

    e.

    def outer(func,z,y):
        return func(z,y) #若无return 则输出None
    f1 = lambda x,y:x+y
    ret = outer(f1,11,22)
    print(ret)

    输出结果为:33

    5.利用递归实现1*2*3*4*5*6*7=5040

    def num(n,a = 1):
        if n == 1:
            return a
        a *= n
        res = num(n-1,a)
        return res
    print(num(7))
    from functools import reduce
    print(reduce(lambda x,y:x*y,range(1,8)))
    print(reduce(lambda x,y:x*y,[i for i in range(1,8)])) #列表解析
    def f(n):
        if n == 1:
            return 1
        return n*f(n-1)
    a = f(7)
    print(a)

    6.利用with实现同时打开两个文件(一读,一写,并将读取到的内容写入到写入模式的文件中)

    with open('a.txt','r',encoding='utf8') as x,
            open('b.txt','w',encoding='utf8') as y:
        y.write(x.read())

    7.有一筐桃子,猴子每天吃一半加一个,吃到第十天只剩一个,问一筐桃子原来有多少个?

    1.递归法:
    def
    f(day,a): if day == 1: return a a = (a+1)*2 day -= 1 res = f(day,a) return res sum = f(10,1) print(sum)
    2.函数法:
    sum = 1
    func = lambda x:(x+1)*2
    for i in range(9):
      sum = func(sum)
    print(sum)

    输出结果为:1534

  • 相关阅读:
    数据分析的广阔前景
    验证驱动的调用者
    重构:改善既有代码的设计 精彩书评一
    谁说菜鸟不会数据分析
    编写安全的驱动程序之输入输出检查
    数据分析师的基本素质
    重构:改善既有代码的设计 精彩书评二
    Java编程思想(第4版)(评注版)
    第四章(2)Libgdx手工项目设置
    第四章(1)Libgdx项目安装、运行和调试
  • 原文地址:https://www.cnblogs.com/zhangsenzhen/p/9385663.html
Copyright © 2020-2023  润新知