找出对称的3位数数字?

题目详情:
利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。

题目拓展
如果随便给定一个数字,怎样去判断这个数字是对称数?

解题思路
3位对称数字的查找:

L = [x*100 + y*10 + z for x in range(1, 10) for y in range(0, 10)for z in range(0, 10) if z == x]
print(L)

运行结果

========= RESTART: C:/Users/lenovo/OneDrive/Python/多重for循环求三位对称数0.py =========
>>>
[101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494, 505, 515, 525, 535, 545, 555, 565, 575, 585, 595, 606, 616, 626, 636, 646, 656, 666, 676, 686, 696, 707, 717, 727, 737, 747, 757, 767, 777, 787, 797, 808, 818, 828, 838, 848, 858, 868, 878, 888, 898, 909, 919, 929, 939, 949, 959, 969, 979, 989, 999]
>>> 

上面是使用多层循环来找出对称数字,
下面使用的是普通的方法找出对称数字:

L = range(100, 1000)
newL = []#找一个中间列表存放新的数字
for n in L:x = int( n/100 )#这里使用 int() 函数是将结果转换为整型,下同y = int( n%10 )if  x==y :newL.append(n)#列表的添加函数 append() #十位数不用去考虑,只考虑百位与各位相等就可以了
print(newL)

运行结果:

========= RESTART: C:/Users/lenovo/OneDrive/Python/多重for循环求三位对称数.py =========
[101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494, 505, 515, 525, 535, 545, 555, 565, 575, 585, 595, 606, 616, 626, 636, 646, 656, 666, 676, 686, 696, 707, 717, 727, 737, 747, 757, 767, 777, 787, 797, 808, 818, 828, 838, 848, 858, 868, 878, 888, 898, 909, 919, 929, 939, 949, 959, 969, 979, 989, 999]
>>> 

其实两个结果是一样的,当然是一样的啊!

随便给定n位数字的查找
判断n位数是否为对称数的关键是要分离出每一位上的数字,在与之相对称的位置进行比较,在没有传递这个数之前,程序是无法判断它是几位数的。

def fun( x ):y = xL = []while y:#将每一位数分离开,存在列表 L 里,并且是从低位到高位排序L.append( y%10 )y = int( y / 10)i = len( L )-1for n in L:#新生成一个数,把原来的低位便高位,高位变低位y = y+  n*pow(10,i)i = i - 1if x==y:#判断两数是否相等return print('此数为对称数!')else:return print('此数非对称数!')

运行调用函数的结果:

========== RESTART: C:\Users\lenovo\OneDrive\Python\随机给的数字是否为对称数.py ==========
>>> fun(123456654321)
此数为对称数!
>>> fun(1234566543211)
此数非对称数!
>>> 

下午想了比较久,在分离出数字得到 L 后,如何去把 L 的第一个元素与最后一个元素比较,第二个和倒数第二个,一直卡在这一关,突然发现可以使用 L 新生成一个数 y ,在对两者进行比较,这样会简单许多。

如何利用多层循环找出对称的3位数数字?相关推荐

  1. Java黑皮书课后题第5章:5.13(求满足n的三次方<12000的n的最大值)使用while循环找出满足n的三次方<12000的n的最大值

    5.13(求满足n的三次方<12000的n的最大值)使用while循环找出满足n的三次方<12000的n的最大值 题目 题目概述 破题 代码 简化版本 题目 题目概述 5.13(求满足n的 ...

  2. Java黑皮书课后题第5章:5.12(求满足n方>12000的n的最小值)使用while循环找出满足n方大于12000的最小整数n

    5.12(求满足n方>12000的n的最小值)使用while循环找出满足n方大于12000的最小整数n 题目 题目概述 破题 代码 题目 题目概述 5.12(求满足n方>12000的n的最 ...

  3. 中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

  4. 找出数组中重复的数字---多思路

    问题:找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意 ...

  5. 图解面试题:找出数组中重复的数字?

    今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...

  6. 编写一个程序,从10亿个数字的数组中找出100个最大的数字

    本文翻译自:Write a program to find 100 largest numbers out of an array of 1 billion numbers I recently at ...

  7. 在字符串中找出连续最长的数字串

    微软面试题之一,难度系数低. 题目描述如下: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)  功能:  在字符串中找出连续最长的 ...

  8. 剑指offer 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来(leetcode有空就刷系列之找出数组中重复的数字)

    数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找 ...

  9. 100亿数据找出最大的1000个数字

    这是互联网领域一个比较经典的算法问题(top k),如何在巨大的数据中找出最大,或者访问量最高的前10个,前100个或者前1000个数据.比如在2亿用户记录中找出信用等级最高的,在上亿个搜索词汇中找出 ...

最新文章

  1. 百度最近开源了分布式配置中心,名叫BRCC
  2. php时间戳 今天昨天,php求今天、昨天、明天时间戳的简单实现方法
  3. Leetcode - 347. Top K Frequent Elements(堆排序)
  4. Redis 基本数据类型 :String、Hash、List、Set、ZSet
  5. Error(6,35)java: 程序包 不存在,解决办法
  6. [完结]以C++与Java为例,详解数据结构的动态增长策略
  7. 网络中各层协议(7层)
  8. Unity3D资源热更新(一)
  9. 服务器设置防火墙网站打不开,部分网站打不开如何处理?
  10. CSS3 制作 3D 水晶糖果按钮
  11. python豆瓣镜像_pip使用豆瓣的镜像源
  12. 火车票能不能选座_终于,买火车票也能选座了!
  13. html meta标签使用总结(转)
  14. CleanMyMac X清理苹果mac特殊的软件授权权限问题如何解决
  15. 用支付宝扫自己生成的网页二维码无法跳转的问题
  16. HTML设置页面动画效果有几种,前端制作动画的几种方式(css3,js)
  17. 阿里云独享虚拟主机和共享虚拟主机区别对比
  18. 第四讲:1.定时、延时任务控制小台灯打开/关闭
  19. 基于组合权重优化的风格中性多因子选股策略_数量化专题之五十七
  20. 租房信息采集并做数据分析

热门文章

  1. html+css面试题
  2. python用缩进来标明代码的层次关系_Python第二弹python基础
  3. 如何鉴别一个成功的Scrum 教练?
  4. 量化交易入门笔记-策略回测与评估
  5. STM32F407ZG TIM通用定时器
  6. Java基础学习——泛型(generics)学习一
  7. 12.1 剪贴板的简单用法
  8. 王牌专业,名列前茅~国科大计算机双非包容度超高
  9. 用matlab写的径向分布函数RDF
  10. css3基础100问之切图神器cutterman是怎样下载和使用的?(15)