-
为函数写一个装饰器,在函数执行之后输入 after
@wrapper def func(): print(123) func()
def wrapper(func): def inner(): v = func() print("after") return v return inner @wrapper def func(): print(123) func()
-
为函数写一个装饰器,把函数的返回值 +100 然后再返回。
@wrapper def func(): return 7 result = func() print(result)
def wrapper(func): def inner(): v = func() return v+100 return inner @wrapper def func(): return 7 result = func() print(result)
-
为函数写一个装饰器,根据参数不同做不同操作。
- flag为True,则 让原函数执行后返回值加100,并返回。
- flag为False,则 让原函数执行后返回值减100,并返回。
@x(True) def f1(): return 11 @x(False) def f2(): return 22 r1 = f1()
def x(args): def wrapper(func): def inner(): if args: return func()+100 else: return func()-100 return inner return wrapper @x(True) def f1(): return 11 @x(False) def f2(): return 22 r1 = f1() r2 = f2() print(r1,r2)
-
写一个脚本,接收两个参数。
- 第一个参数:文件
- 第二个参数:内容
请将第二个参数中的内容写入到 文件(第一个参数)中。
# 执行脚本: python test.py oldboy.txt 你好
import sys file_name = sys.argv[1] content = sys.argv[2] print(file_name,content) with open(str(file_name),mode='w',encoding='utf-8') as f: f.write(content)
-
递归的最大次数是多少?
1000次
-
看代码写结果
print("你\n好") #你 #好 # print("你\\n好") #你\n好 # print(r"你\n好") #你\n好 #
-
写函数实现,查看一个路径下所有的文件【所有】。
import os import sys path = sys.argv[1] # result = os.walk(r'E:\python\pythoncode\pythonhomework') result = os.walk(path) for a,b,c in result: # a,正在查看的目录 b,此目录下的文件夹 c,此目录下的文件 for item in c: path = os.path.join(a,item) print(path)
-
写代码
path = r"D:\code\test.pdf" # 请根据path找到code目录下所有的文件【单层】,并打印出来。
import os path = r"D:\code\test.pdf" path_list = path.split('\\') path_new ="\\".join(path_list[:-1]) result = os.listdir(path_new) for p in result: print(p)
-
写代码实现【题目1】和【题目2】
#【题目1】 def fib(n): list =[1,2] while list[-1] <=n: list.append(list[-1]+list[-2]) # print(list) print(list[-1],len(list)) fib(4000000) #或者 num1 = 0 num2 = 1 count = 0 while num2<4000000: num1,num2 = num2,num1+num2 count +=1 print(num1,count)
#【题目2】 dicta = {"a":1,"b":2,"c":3,"d":4,"f":"hello"} dictb = {"b":3,"d":5,"e":7,"m":9,"k":"world"} dictc = dicta # print(dictc) for i in dictb.keys(): if i in dictc.keys(): dictc[i]=dictc[i]+dictb[i] else: dictc[i]=dictb[i] print(dictc)
-
看代码写结果
def extendList(val,list=[]): list.append(val) return list list1 = extendList(10) list2 = extendList(123,[]) list3 = extendList('a') print(list1,list2,list3) #[10] [123] [10,'a']
-
实现如下面试题
1. 选出以下表达式表述正确的选项; A:{1:0,2:0,3:0} B:{'a':0,'b':0,'c':0} C:{(1,2):0,(4,3):0} D:{[1,2]:0,[4,3]:0} E:{(1,2):0,{4,3}:0} #A B C 2. tupleA = ('a','b','c','d','e') tupleB = (1,2,3,4,5) # res = {'a':1,'c':3,'b':2,'e':5,'d':4} res = {} for i in range(len(tupleA)): res[tupleA[i]]=tupleB[i] print(res) 3. sys.argv 4. ip = '192.168.0.100' ip_list =ip.split('.') print(ip_list) 5. AList = ['a','b','c'] AList_str='' for i in range(len(AList)): AList_str += AList[i]+',' print(AList_str.rstrip(',')) 6. print(strA[-2:]) print(strA[1:3]) 7. Alist = [1,2,3,1,3,1,2,1,3] Aset = set() for i in range(len(Alist)): Aset.add(Alist[i]) print(list(Aset))
#1 import os def out_file_path(file_name): file_path = os.path.abspath(file_name) result = os.walk(file_path) for a,b,c in result: for item in c: path = os.path.join(a,item) print(path) #2 for i in range(1,1001): sum = 0 for j in range(1,i): if i%j ==0: sum +=j if i ==sum: print(i) #3多进程池??放弃 #4题目逻辑感觉有问题,放弃。 #5 with open('etl_log.txt',mode='r') as f: for line in f: print(line)
老男孩python全栈s21day14作业
最新推荐文章于 2020-12-09 12:17:01 发布