-6

我对 python 中的列表以及如何从列表中打印有疑问。以下哪个代码片段打印了列表“单词”中的所有 7 个单词?我已经编译并尝试过,但我仍然不知道哪些片段是正确的。

1.
i = 0 
while i < 7: 
    print(words[i], end=" ")
i += 1

2.
i = 0 
while i < 7: 
    print(words[i], end=" ")
    i += 1
3.
i = 1 
while i < 7: 
    print(words[i], end=" ")
    i += 1

4.
i = 0 
sum = "" 
while i < 7: 
    sum += words[i] 
    i += 1 
print(sum)

5.
i = 0 
sum = "" 
while i <= 7: 
    sum += words[i] 
    i += 1 
print(sum)
4

3 回答 3

2

如果您的列表看起来像这样words = ["a","b","c"..],,

for您所要做的就是使用语句遍历它们,

for i in words:
    print i

那应该打印出以下文字:

a
b
c
....
于 2013-07-17T21:20:22.790 回答
0

作为试运行,这应该不难理解(如果需要,请使用笔和纸)。您需要记住,如果words有 7 个元素,它们是 words[0]...words[6]。即列表索引从0开始

显然你无法运行它们。你是如何尝试运行它们的?什么地方出了错?

如果您仍然无法解决,一个好的策略是退回到与其他答案最相似的答案...答案 2 :)

于 2013-07-17T21:23:11.640 回答
0

答:没有一个是正确的。他们都错了。假设知道应该找到多少个单词是为什么这是错误的起点。

将您找到的单词放入列表的目的是让您可以将查找结果的责任与打印它们分开。为了将它们解耦,一个人无法了解另一个人。进一步来说; 你不关心列表中有多少,你只需要知道如何打印列表。因此,您实际上只是在问“我如何打印列表”。

其次,python中没有编译。您是否尝试过阅读http://docs.python.org/2/tutorial/?或http://docs.python.org/3/tutorial/

有关正确答案的代码,请参阅@enginefree 的答案。

即使您打算按照使用索引的方式进行操作,我也会建议

for i in range(0..MAX_ELEMENTS-1):
    print words[i]

我也强烈反对使用 while 循环来解决具有明确可知的操作边界的问题,例如从操作一开始就对集合进行迭代。虽然通常意味着不断变化的条件、不可知的端点以及对自定义增量控制的需求。

于 2013-07-17T22:36:21.003 回答