做了两道练习题,第一道是用filter求素数。第二道是用filter()筛选出回数。
@Python代码如下: # -*- coding: utf-8 -*-# @Time :2018/6/27# @Author :ShiChao# title :1、筛选素数;2、筛选回文# 输出素数:'''def _odd_iter(): #列出所有的奇数 n = 1 while True: n += 2 yield ndef not_sushu(): return lambda x:x % n > 0def primes(): yield 2 it = _odd_iter() while True: n = next(it) yield n it = filter(not_sushu(),it)for n in primes(): if n < 100: print(n) else: break'''# 筛选回文def is_palindrome(n): temp1 = str(n) if temp1 == temp1[::-1]: return n else: return False# 其实两行代码就可以搞定def is_palindrome(n): temp1 = str(n) return temp1 == temp1[::-1]output = filter(is_palindrome, range(1, 100))print('1~100:', list(output))很简单的东西,没什么学习价值,就当自己的练手。欢迎交流欢迎指正!