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

为什么会报错

https://img1.sycdn.imooc.com//5c0b571c00010f7802450139.jpg请问该怎么解决,感觉没问题啊

正在回答

8 回答

在python3.7中运行了,可以输出呢。https://img1.sycdn.imooc.com//5c78a7ce0001887a06260384.jpg

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

range()是一个函数,range和后面的括号要紧挨着,从图来看,中间好像有个空格,这样的话,解释器并不能正确识别,因此会报错syntax error

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

https://img1.sycdn.imooc.com//5c63b5690001782f13680776.jpg

按照你原本的代码试了一下,能够运行成功,输出错误的原因可能是你没注意题目,题目是“请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]”,而

“for x in range(1,100):

    L.append(x*(x+1))

”这两句是生成1x2, 2*3, 3*4, 4*5, ... , 99*100的结构。range(1,100)是从1开始,以加1的形式,一直到小于数字100;range(1,100,2)是从1开始,以加2的形式开始一直加到小于数字100。以加2的形式增加则刚好满足题目中每个乘法中的第1位数字,所以在你原代码的基础上将range(1,100)改为range(1,100,2)就可以了。

第一行是简化写法,已标为注释,对之后的代码无影响。

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

第2行最后的冒号是中文的

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

https://img1.sycdn.imooc.com//5c44a2b00001104919660266.jpg

按照你的代码,运行过了,输出错误,不存在无法运行。建议把你报错的信息贴上来看看。

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

L = [];

for x in range(1,100,2):

    L.append(x*(x+1));

print L

或者

print [x*(x+1) for x in range(1,100,2]

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

慕田峪7798326

print [x*(x+1) for x in range(1,100,2)] 少了一个)括号
2018-12-22 回复 有任何疑惑可以回复我~

可以运行的 或许符号什么的问题吧  重打一遍试试

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

range(1,100,2),加个2就OK了,因为题目要求是1*2,3*4,5*6,这个样子的,而不是1*2,2*3,3*4这个样子的

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

慕九州2485307 提问者

报错是得不到结果,就是无法运行。
2018-12-09 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么会报错

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