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