课程
/后端开发
/Python
/初识Python
print [x*y for x in range(1,100,2) for y in range(2,100,2) ]
2019-09-17
源自:初识Python 10-1
正在回答
这种写法相当于走了两次迭代,第一次for x in range(1,100,2),第二次for y in range(2,100,2),结果有49*48个,和题目要求不一样,不单单是编译器版本问题
range()含头不含尾,所以range(2,100,2)取偶数,只能取到98,不会取到100,如果想取到100,可以写成range(2,101,1)或者range(2,102,2)。
可以理解为,x=1,依次与2到99之间的偶数相乘一次并输入,然后x=1+2=3,再依次与2到99之间的偶数相乘一次并输入,依此类推
你的编译器是python3版本,print打印要加括号的
print([x*y for x in range(1,100,2) for y in range(2,100,2) ])这样就行了
慕后端5058260
语法错误,扔到编译器里就直接报错了
没有问题!
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序