Discuss / Python / 两种方法 2021/1/4:

两种方法 2021/1/4:

Topic source

HellPlay

#1 Created at ... [Delete] [Delete and Lock User]

方法1:转成字符串利用切片进行比较:

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

方法2:分别从首位按顺序比较数字:

def is_palindrome(n):
    import math
    L = math.ceil(math.log10(n))  #获取数字位数
    if n%10==0:   #10的整数倍直接剔除
        return
    for i in range(L//2):
        if math.floor(n/10**(L-1-i)%10) != math.floor(n/10**i%10):  #逐个比较首位数字是否相等
            return
    return n


HellPlay

#2 Created at ... [Delete] [Delete and Lock User]

错别字,哈哈哈哈哈~


  • 1

Reply