Discuss / Python / 我的两个答案

我的两个答案

Topic source

我的思路是将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))

print(list(output))


  • 1

Reply