回文数判断。设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。
前言
回文数判断。设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。
一、前言
- 分析一下题目,题目是判断一个5位数是否为回文数
- 方法一,将数字变为字符串,倒序再变为数字,进行比较
- 方法二,将个十百千万位都求出来,再倒叙组合,进行比较
- 我觉得是考察第二种方法
二、使用步骤
方法一:
代码如下(示例):
a = int(input('输入一个五位数:'))
res = int(str(a)[::-1])
if a == res:1
print('{0:}是回文数'.format(a))
else:
print('{0:}不是回文数'.format(a))
方法二:
代码如下(示例):
data = pd.read_csv(
a = int(input('输入一个五位数:'))
x1 = a % 10
print('个位:', x1)
x2 = a % 100 // 10
print('十位:', x2)
x3 = a % 1000 // 100
print('百位:', x3)
x4 = a % 10000 // 1000
print('千位:', x4)
x5 = a % 100000 // 10000
print('万位:', x5)
res = x1*10000+x2*1000+x3*100+x4*10+x5
print(res)
if a == res:
print('{0:}是回文数'.format(a))
else:
print('{0:}不是回文数'.format(a))
方法二改进:
a = int(input('输入一个五位数:'))
length = len(str(a))
res = 0
for i in range(length):
j = a % 10 ** (i + 1) // 10 ** i
res += j * 10 ** (length - 1 - i)
if a == res:
print('{0:}是回文数'.format(a))
else:
print('{0:}不是回文数'.format(a))