zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    基于分布式锁解决定时任务重复问题
    基于Redis的Setnx实现分布式锁
    基于数据库悲观锁的分布式锁
    使用锁解决电商中的超卖
  • 原文地址:https://www.cnblogs.com/zhangsenzhen/p/9385663.html
Copyright © 2011-2022 走看看