Discuss / Python / 写了一种字符串,后面想到好像也可以直接用数字运算

写了一种字符串,后面想到好像也可以直接用数字运算

Topic source
def get_num_len(n):    n = int(n)    n_len = 1    while True:        n = int(n / 10)        if n == 0:            break        n_len += 1    return n_lendef is_palindrome(n):    n_len = get_num_len(n)    if n_len % 2 == 0:        tem_mul = 10 ** int(n_len / 2)        left_n = int(n / tem_mul)        right_n = n - left_n * tem_mul    else:        tem_mul = 10 ** int((n_len - 1) / 2)        left_n = int(n / tem_mul)        right_n = n - left_n * tem_mul        left_n = int(left_n / 10)    if left_n >= 10:        left_n_len = get_num_len(left_n)        tem_sum = 0        tem_left_n = left_n        for i in range(left_n_len, 0, -1):            tem_sum += int(tem_left_n % 10 * (10 ** (i - 1)))            tem_left_n = int(tem_left_n / 10 ** (left_n_len - i + 1))        left_n = tem_sum    return left_n == right_n

  • 1

Reply