为什么range只打印python中的(开始、结束)索引项(对我来说),而quit()对我来说也不起作用

2024-05-16 11:47:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我是这个网站的新手,对Python的学习非常陌生。我正在关注由密歇根大学的查尔斯·西弗伦斯博士在youtube上的教学。有几次(很少)他以做某事为例,但当我这样做时,我并没有得到同样的结果。如下所示,“我的范围”不会打印每个单独的项目。它只打印“范围”和开始&;结束…就像…range(0, 4)而不是[0, 1, 2, 3]

他有,print(range(4))

而且[0, 1, 2, 3]

我得到range(0, 4)

…或者他真的

friends = ['Joseph', 'Glenn', 'Sally']
print(range(len(friends)))

…他得到了[0, 1, 2]

我得到range(0, 3)

我的意思是,我正在输入完全相同的东西。怎么了?这是我安装的Python吗?是否有我必须安装、导入或启用的东西才能使我的工作相同

当他使用quit()时也会发生这种情况。他一到就退出,我的不退出?没有回溯或任何错误迹象。就像Python忽略了它一样

任何帮助都将不胜感激

先谢谢你


Tags: 项目lenyoutube网站range教学大学sally
3条回答

我猜youtube视频使用的是Python 2,而您使用的是Python 3

Python 3 turn range to a list

在Python 3中,您得到的是范围类型而不是列表,因此您必须执行以下操作:

>>> print(list(range(4)))
[0, 1, 2, 3]

尽管如此,quit()即使在Python 3中也必须仍然有效

>>> quit()
~ $

在Python-3.x中,range(0,4)生成一个范围对象而不是列表,列表是Python-2.x的更新

如果希望获得与下面教程相同的输出,请尝试list(range(0,4))

这是因为他使用Python 2。在Python2中,许多事情的工作方式与Python3不同,Python3可能就是您所使用的。要获得第一个结果,请使用print([i for i in range(4)]) 对于第二个结果,使用print([i for i in range(len(friends))])

相关问题 更多 >