Discuss / Python / 交作业,不对的地方请指点(下面写的都好简洁呀)

交作业,不对的地方请指点(下面写的都好简洁呀)

Topic source
# -*- coding: utf-8 -*-
# 回数
from functools import reduce
def deng(x,y):                                   #判断所有的数是否相等(结合reduce)
    if x == y:
        return x

def is_palindrome(n):
    L = []
    while True:
        m , n = n % 10 , n//10                   
        L.append(m)
        if n < 10:
            L.append(n)
            break
    if len(L) % 2 == 0 :
        return L[0] == reduce(deng,L)           
    else:
        i = len(L)//2
        return L[:i] == list(reversed(L[i+1:]))  #reversed(list) 返回一个倒序的list(Iterator类型)
print(list(filter(is_palindrome,range(1,1000))))

看了这个的崩溃了

def is_palindrome(n):
    return str(n)==str(n)[::-1]

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

  • 1

Reply