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

请问我这样错在那里呢?好奇怪啊

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

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


正在回答

4 回答

b in (0,10)改为b in range(0,10)就可以了。 这样省代码,逻辑好腻害~ 机智!

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

应该是:

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

不小心把我错的复制上来了,哈哈



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

应该是:

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

你少了一个for循环和if条件过滤

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

最后for循环应该是 in range(0,10),   b in (0,10) 表示在这个for循环中迭代的是一个含有两个数字的teple(1,10) 


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

慕数据0097168

tuple
2019-01-23 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

请问我这样错在那里呢?好奇怪啊

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