Crossin的编程教室

标题: 第二十五课,初探list的两个问题 [打印本页]

作者: xiaophedap    时间: 2018-6-2 01:11
标题: 第二十五课,初探list的两个问题
首先贴代码,如下:
----------------------------------------------------------
print (range(1, 10))

I = [1, 2, 3, 4, 5]
print (I)

for i in I:
    print (i)


运行结果如下:
----------------------------------------------------------
range(1, 10)
[1, 2, 3, 4, 5]
1
2
3
4
5


两个问题如下:
----------------------------------------------------------
问题1:
print (range(1, 10))这个语句,运行结果并不是第二十五课里面说到的——
print range(1,10)
得到的结果是:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

实际运行结果是:range(1, 10)

问题2:
l = [1, 1, 2, 3, 5, 8, 13]
print (I)的结果是:
[1, 2, 3, 4, 5]

而二十五课中说到的是——
同样也可以用for...in遍历这个列表,依次输出了列表中的每一项

for i in I:
    print (i)
的实际运行结果是:
1
2
3
4
5

和直接print (I)的结果并不一样呀。


这两个问题困惑了,求指教,谢谢!

作者: 风扇很响    时间: 2018-6-2 12:35
第一个问题,看了下,我也没搞明白为什么第25课这么写
如果要输出[1, 2, 3, 4, 5, 6, 7, 8, 9]的话,我会写print (list(range(1, 10)))

第二个问题
1
2
3
4
5
这就是依次输出了列表中的每一项啊,当然和直接print (I)的结果不一样了
作者: crossin先生    时间: 2018-6-3 00:14
问题1是py3的改动,我刚去更新了下之前的课程
作者: xiaophedap    时间: 2018-6-3 01:58
风扇很响 发表于 2018-6-2 12:35
第一个问题,看了下,我也没搞明白为什么第25课这么写
如果要输出[1, 2, 3, 4, 5, 6, 7, 8, 9]的话,我会写 ...

懂了,知道自己理解错在哪里了,感谢!
作者: xiaophedap    时间: 2018-6-3 02:01
crossin先生 发表于 2018-6-3 00:14
问题1是py3的改动,我刚去更新了下之前的课程

感谢!
在python IDE上run了一下。确实python3有需要调整——
>>> print (list (range (1, 10)))
[1, 2, 3, 4, 5, 6, 7, 8, 9]





欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5