常州网站建设招聘,dede如何做手机网站,四川住房城乡建设部网站,中国软文网求列表全排列lst [1,2,3]
l1 [(x,y,z) for x in lst for y in lst for z in lst if x ! y if y ! z if x ! z]
print(l1)给定一个非负整数num,重复的加每一位,直到最后只剩下一位例如: num 38,计算过程如下:3 8 111 1 2最后输出结果为2#递归
def add(num):if len(str(num… 求列表全排列lst [1,2,3]
l1 [(x,y,z) for x in lst for y in lst for z in lst if x ! y if y ! z if x ! z]
print(l1)给定一个非负整数num,重复的加每一位,直到最后只剩下一位例如: num 38,计算过程如下:3 8 111 1 2最后输出结果为2#递归
def add(num):if len(str(num)) 1:return numret 0for i in str(num):ret int(i)return retreturn(add(ret))
print(add(8))#累加器
def add(num):ret 0for i in str(num):ret int(i)return retdef cacl(num):ret numwhile ret 10:ret add(ret)return ret
print(cacl(38))#使用列表解析优化版
def add(num):return sum([int(x) for x in str(num)])
def cacl(num):ret numwhile ret 10:ret add(ret)return ret
print(cacl(38))寻找happy numberhappy number值,对一个数字的每一位取平方后相加,对得到的结果反复执行上一步,直到最后只有一位,如果最后结果为1,这个数就为happy number.例如 19 就是happy number.因为1^2 9^2 828^2 2^2 686^2 8^2 1001^2 0^2 0^2 1def add(num):ret 0for i in str(num):ret (int(i) ** 2)return retdef happy_number(num):results {num}ret numwhile ret 10:ret add(ret)if ret in results:return Falseresults.add(ret)return ret 1for i in range(1,10000):if happy_number(i):print({0} is happy number.format(i))
#使用列表解析优化上版
def add(num):return sum([int(x) ** 2 for i in str(num)])def happy_number(num):results {num}ret numwhile ret 10:ret add(ret)if ret in results:return Falseresults.add(ret)return ret 1for i in range(1,10000):if happy_number(i):print({0} is happy number.format(i))装饰器写一个带一个default_user 参数的装饰器,此装饰器检查传入函数的关键字参数,如果没有名为user的参数,使用default_user 作为user 参数传递给函数.例如:inject_user(default_usercomyn)def do_something(*args,**kwargs):print(kwargs[user])调用do_something() 时能输入comynfrom functools import wraps
def inject_user(default_user):def func(fn):wraps(fn)def deco(*args, **kwargs):if user not in kwargs.keys():kwargs[user] default_userreturn fn(*args, **kwargs)return decoreturn funcinject_user(default_usercomyn)
def do_somethings(*args, **kwargs):print(kwargs[user])do_somethings()列表匹配写一个find函数,传入两个列表,其中origin和iterms, items具有默认值[3, 4].查找iterms中每个元素在origin中的所有位置.返回值为字典,key是iterms中的元素,value是位置的元组.例如:find([2, 3, 5, 3, 4, 2, 7, 4]) 返回{3:(1, 3), 4:(4, 7)}def find(origin,items[3, 4]):fin dict()for x in iter(items):lst list()for k, v in enumerate(origin):if x v:lst.append(k)fin[x] tuple(lst)return finfind([2, 3, 5, 3, 4, 2, 7, 4])#使用列表解析优化
def find(origin,items[3, 4]):fin dict()for x in items:lst list()[lst.append(k) for k, v in enumerate(origin) if x v]fin[x] tuple(lst)return finfind([2, 3, 5, 3, 4, 2, 7, 4]) 转载于:https://blog.51cto.com/390892467/1749770