在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