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

print(x*100+y*10+z for x in range(1,10)for y in range(0,10)for z in range(1,10)if x==z) 这种写法在Python3里好像就不行了,会报异常,是不是每个for都必须另起一行?

 print(x*100+y*10+z for x in range(1,10)for y in range(0,10)for z in range(1,10)if x==z)
 这种写法在Python3里好像就不行了,会报异常,是不是每个for都必须另起一行?

正在回答

2 回答

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

你少了中括号~

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

qq_Dreamofheave_0 提问者

厉害厉害,这都可以
2018-04-11 回复 有任何疑惑可以回复我~
#2

_zylan_

python 3 中 range(1,10) 为什么不是写成 list(range(1,10)) ?????? range(1,10) 打印的结果依然是 range(1,10) 而 list(range(1,10)) 打印的结果是 [1, 2, 3, 4, 5, 6, 7, 8, 9]
2018-05-18 回复 有任何疑惑可以回复我~

为什么一定要写中括号了

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

举报

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

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

进入课程

print(x*100+y*10+z for x in range(1,10)for y in range(0,10)for z in range(1,10)if x==z) 这种写法在Python3里好像就不行了,会报异常,是不是每个for都必须另起一行?

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