Python【习题】回文数:判断一个数是否是回文数


人生苦短,我用Python

环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1


什么是回文数:
有这样一类数,他们顺着看和倒着看是相同的数,例如:12321,1221,2332等,这样的数字就称为:回文数

题目:输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

  • 找出5位数中所有的回文数:

方法1.使用for 循环

# 找出5位数中所有的回文数:
for i in range(10000,100000):   # 遍历所有的5位数
    s = str(i)    # 将数转换成字符串类型,即可以用索引取出每一位上的数字
    if s[0] == s[-1] and s[1] == s[-2]:   # 字符串的索引
        print(i)

方法2. 定义函数:

def is_huiwen(n):
    reversed_str= str(n)
    return reversed_str == reversed_str[-1::-1]   # 

output = filter(is_huiwen,range(10000,100000))
print(list(output))
  • 用户自己输入一个5位数,判断是否是回文数:
# 输入一个5位数,判断它是否是回文数:
a = int(input(" 请输入一个5位整数:"))
s = str(a)
if s[0] == s[-1] and s[1] == s[-2]:
    print(" %d 是一个回文数!" % a)
else:
    print(" %d 不是一个回文数!" % a)
  • 判断任意一个整数是否是回文数:
n = int(input('请输入一个整数:'))
s = str(n)
f = True

for i in range(len(s)//2):
    if s[i] != s[-1-i]:
        f = False
        break
if f:
    print('%d 是一个回文数' % n)
else:
    print('%d 不是一个回文数' % n)

你可能感兴趣的:(Python【习题】回文数:判断一个数是否是回文数)