一行筛选素数
print ‘ ‘.join(map(str,filter(lambda x:not[x%i for i in range(2,x/2+1) if x%i == 0],range(2,101))))
首先:
lambda x:not[x%i for i in range(2,x/2+1) if x%i == 0] 只要x遍历所有的数,就能返回所有的素数了,因此想到了filter()函数
filter(lambda x:not[x%i for i in range(2,x/2+1) if x%i == 0],range(2,101))
此时还不满足格式要求
用map(str, []),再用 ‘ ‘.join()一个,最终就是答案的形式了
信息加密 给你个小写英文字符串a和一个非负数b(0<=b<26), 将a中的每个小写字符替换成字母表中比它大b的字母。 这里将字母表的z和a相连,如果超过了z就回到了a。例如a=”cagy”,b=3, 则输出 fdjb
print ”.join([chr((ord(x)-ord(‘a’)+b)%26+ord(‘a’)) for x in a])
分析:ord转换成ascll码,chr再变回字符。把a中每一个字符都遍历一遍,大于26则进行取余运算,然后加上字符‘a’的ascll码,使用join连接起来,最前面的”是用来表明他是一个字符串的。。
原创文章,转载请注明: 转载自URl-team
本文链接地址: python 一行ac代码分析记录