Python practice higher order function filter

The number refers back to reading from left to right and right to left reading is the same number, for example 12321,909. Please use filter () screened several times:

def is_palindrome(n):
    s = str(n)
    s_2 = ''
    for i in range(len(s)):
        s_2 += s[-1-i]
    return s == s_2

# 测试:
output = filter(is_palindrome, range(1, 1000))
print('1~1000:', list(output))
if list(filter(is_palindrome, range(1, 200))) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]:
    print('测试成功!')
else:
    print('测试失败!')

 

Published 110 original articles · won praise 2 · Views 3737

Guess you like

Origin blog.csdn.net/qq_40041064/article/details/105114886