天天看点

Python:回文数的三种实现方法

题目:

找出五位数中的回文数,打印并计算个数。

思路:

回文数是对称数,指正向读与反向读是相同的,如12321,33433等。

因此可以利用正向与反向相同或对称位数字相同来判断。

解法1:

利用字符串反转,判断反转前后是否相等

count = 0
for num in range(10000, 99999):
    if str(num) == str(num)[::-1]:	#str[::-1]表示字符串反转
        print(num)
        count += 1
print("共有%d个5位回文数" %(count))
           

解法2:

利用列表判断对称位相等

count = 0	#计数器
for num in range(10000, 99999):
    numList = list(str(num))
    if numList[0] == numList[4] and numList[1] == numList[3]:
        count += 1
        print(num)
print("共有%d个5位回文数" %(count))
           

解法3:

利用列表逆向存储,判断逆向前后两个列表是否相等

count = 0
for num in range(10000, 99999):
    numList = list(str(num))   #原数值列表
    tmpList = list(str(num))   #逆向存储后的列表
    tmpList.reverse()   #reverse()方法进行逆向存储
    if numList == tmpList:
        print(num)
        count += 1
print("共有%d个5位回文数" %(count))
           

运行结果:

Python:回文数的三种实现方法

**

  • 题目练习,尚在学习,若有问题请指出。

**