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
Sign in to make a reply
为了打工而打工