-
为函数写一个装饰器,在函数执行之后输出 after
def af_1 (fn): def hjk (*arg,**kwargs): result=fn(*arg,**kwargs) print('after') return result return hjk
-
为函数写一个装饰器,把函数的返回值 乘2再返回值
def back_1 (fn): def hjk (*arg,**kwargs): result=fn(*arg,**kwargs) return result*2 return hjk
-
写一个装饰器@tag要求满足如下功能:
# 1)
def text_1 (fn):
def hjk (*arg,**kwargs):
result=fn(*arg,**kwargs)
return f'<p>{result}</p>'
return hjk
@text_1
def render(text):
return text
# 2)
def text_2 (fn):
def hjk (*arg,**kwargs):
result=fn(*arg,**kwargs)
return f'<p>{result}</p>'
return hjk
@text_2
def render2():
return 'abc'
-
写一个创建一副扑克牌的生成器。
def fa_pai(): op=['A',2,3,4,5,6,7,8,9,10,'j','Q','K'] iop=['红桃','黑桃','梅花','方块'] werrf=[] for x in op: for njk in iop: hjk = f'{njk}{x}' werrf.append(hjk) bjn = set(werrf) yield bjn yield print('小王') yield print('大王') bjw=fa_pai() bj=next(bjw) for bjk in bj: print(bjk) print(next(bjw)) print(next(bjw))
-
使用递归函数画出以下图形:
def fn(s): if s == 1: print('*'*op) return fn(s-1) print('*' * (op+1-s)) op=int(input('请输入数字')) fn(op)