将结果打印为垂直列表

时间:2017-04-09 20:15:04

标签: python-3.x

学生在这里学习Python3。

我有一项任务,我被告知要为此写一些内容:enter image description here

我目前的代码是:

from read_lines import read_lines

storedstrings = read_lines()
print(storedstrings)

ci = 0
contin = True
while contin:
        if ci > len(storedstrings):
                contin = False
        else:
                storedstrings = storedstrings[0]
                ci = ci + 1
                print(ci, storedstrings)

但是当我运行它时,我的结果是:

[vbox]~/CSE1010/HW4$ python3 loop.py
abc
def
ghi

['abc', 'def', 'ghi']
1 abc
2 a
[vbox]~/CSE1010/HW4$

我似乎无法正确地获得第二或第三个索引,尽管第一个索引很好。

感谢任何帮助。

谢谢你们的时间!

1 个答案:

答案 0 :(得分:1)

问题是storedstrings = storedstrings[0]。 您正在获取第一个字符串,并将其指定为相同的名称。因此,下次storedstrings[0]发生时,您将获得第一个字符串的第一个字符。你想要做的是:

string = storedstrings[ci]

使用for循环和enumerate()会更容易,而不是使用while循环。然后就会这么简单:

for i, string in enumerate(storedstrings, start=1):
    print(i, string)

输出:

1 abc
2 def
3 ghi