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))

运行结果:

5位数的回文数
**

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

**

  • 21
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值