我的思路是将filter定义成公示,回数的特征是自己出自己为1. 第一次照猫画虎写的,对于例子中从2开始返回还是不太理解。 def num_iter(): #产生连续不断地自然数 n=1 while True: n=n+1 yield n
def is_filter(n): #回数就是自己除以自己得1 return n/int(str(n)[::-1])==1
def is_palindrome(): #产生连续不断筛选后的回数
yield 1 it=num_iter() while True: n=next(it) yield n
output = filter(is_filter, range(1,1000))
print(list(output))
第二次看了大家的答案写的 def is_palindrome(n):
return n/int(str(n)[::-1]) == 1
output = filter(is_palindrome, range(1,1000))
Sign in to make a reply
济南和尚李
我的思路是将filter定义成公示,回数的特征是自己出自己为1. 第一次照猫画虎写的,对于例子中从2开始返回还是不太理解。 def num_iter(): #产生连续不断地自然数 n=1 while True: n=n+1 yield n
def is_filter(n): #回数就是自己除以自己得1 return n/int(str(n)[::-1])==1
def is_palindrome(): #产生连续不断筛选后的回数
output = filter(is_filter, range(1,1000))
print(list(output))
第二次看了大家的答案写的 def is_palindrome(n):
output = filter(is_palindrome, range(1,1000))
print(list(output))