在Python中检查数字是否为回文数

假设我们有一个八进制或十进制形式的数字。如果是八进制形式,请检查它是否是回文。如果数字为十进制,则将其转换为八进制,然后检查其是否为回文。

因此,如果输入类似于num = 178,则输出将为True,因为数字不是八进制形式(8不是八进制的有效符号,而是十进制有效),然后将其转换为262的八进制回文。

示例

让我们看下面的实现以更好地理解-

def is_all_under_8(num):
   while num:
      if (num % 10) >= 8:
         return False
      else:
         num = int(num / 10)
      return True
def solve(num):
   base = 8 if(is_all_under_8(num) == False) else 10
   oct_list = []
   while num != 0:
      oct_list.append(num % base)
      num = int(num / base)
   j = len(oct_list)-1
   k = 0
   while k <= j:
      if oct_list[j] != oct_list[k]:
         return False
      j-=1
      k+=1
   return True
num = 178
print(solve(num))

输入

178
输出结果
True

猜你喜欢