为了账号安全,请及时绑定邮箱和手机立即绑定

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

print [m*100+n*10+l for m in range(1,10) for n in range(10) for l in range(10) if m==l]

这题里的写法,最后的if是不是只能跟一个条件?如果想用另加一个条件(比如只要奇数)可以怎么写

正在回答

3 回答

从1开始隔2个取一个就行了

print [a*100+b*10+c for a in range(1,10) for b in range(0,10) for c in range(1,10,2) if a==c]

0 回复 有任何疑惑可以回复我~

刚看了童鞋们的,2层就能办好了

print([100*m+10*n+m for m in range(1, 10) for n in range (0, 10)])


0 回复 有任何疑惑可以回复我~
#1

夏帛 提问者

其实是这样的,我就是练习熟悉了一下各种语法,谢谢啦
2019-06-27 回复 有任何疑惑可以回复我~
print([int("%s%s%s" % (a, b, c)) for a in range(0, 10) for b in range(0, 10) for c in range(0, 10) if a == c and a != 0 and c != 0])


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信