回数

回数

是指从左向右读和从右向左读都是一样的数,比如121,23432这种,使用Python中filter实现:

# coding=utf-8

def is_palindrome(n):
    s = str(n)
    # 如果长度为1
    if len(s) == 1:
        return True
    # 如果是奇数长度
    elif len(s) % 2 == 1:
        mid = len(s) // 2
        return s[0 : mid] == s[-1 : mid : -1]
    # 如果是偶数长度
    else:
        mid = len(s) // 2
        return s[0 : mid] == s[-1 : mid-1 : -1]

# 一种更为简便的方法
def is_palindrome_o(n):
    n_str = str(n)
    if n_str == n_str[::-1]:
        return n 

output = filter(is_palindrome, range(1, 1000))
print('1~1000:', list(output))

你可能感兴趣的:(回数)