def marker(mark='!'):
def deck(f):
def wrap(*args,**kwargs):
return f(*args,**kwargs)+mark
return wrap
return deck
@marker()
def doubler(s):
return s+s
@marker(mark='%')
def tripler(s):
return s+s+s
print(doubler('x'))
print(tripler('x'))
print(tripler('f'))
@marker(mark='^')
def tripler(s):
return s+s+s
print(tripler('c'))
ZGVmIG1hcmtlcihtYXJrPSchJyk6CiAgICBkZWYgZGVjayhmKToKICAgICAgICBkZWYgd3JhcCgqYXJncywqKmt3YXJncyk6CiAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCoqa3dhcmdzKSttYXJrCiAgICAgICAgcmV0dXJuIHdyYXAKICAgIHJldHVybiBkZWNrCgpAbWFya2VyKCkKZGVmIGRvdWJsZXIocyk6CiAgICByZXR1cm4gcytzCgpAbWFya2VyKG1hcms9JyUnKQpkZWYgdHJpcGxlcihzKToKICAgIHJldHVybiBzK3MrcwoKCnByaW50KGRvdWJsZXIoJ3gnKSkKCnByaW50KHRyaXBsZXIoJ3gnKSkKCnByaW50KHRyaXBsZXIoJ2YnKSkKCkBtYXJrZXIobWFyaz0nXicpCmRlZiB0cmlwbGVyKHMpOgogICAgcmV0dXJuIHMrcytzCgpwcmludCh0cmlwbGVyKCdjJykpCg==