如何使用python 2.7打印列表中的每个元素与一个行号分开的行?

问题描述:

所以这是现在我的代码:如何使用python 2.7打印列表中的每个元素与一个行号分开的行?

lineNumber = 0 
userPrompt = 0 
userLines = list() 

firstLine = raw_input("Please enter a line from a verse of your favorite song: ") 

while True: 
    lineNumber += 1 
    userPrompt = raw_input("would you like to enter more lines? ") 

    if userPrompt.lower() == "yes": 
     userLines.append(raw_input("Please enter the next line in the verse: ")) 

    if userPrompt.lower() == "no": 
     break 
print("verse") 
print("Line " +str(lineNumber) + ": " + firstLine) 
print("\n" "Line " +str(lineNumber) + ": " + userLine) 

哪里有麻烦林越来越列表中的每个元素自身在每个行号线打印为好。第二个打印语句是在while语句之外发生的第一个输入,第三个打印语句是我目前遇到的问题。

输出应该是这样的:

线路1:从第一原始输入提示

行2 #user输入:从列表

#the第一线第3行:#列表中的第二行

等等......

感谢您的帮助,因为我迷失在这里做什么。

让我们把你的代码,并稍作修改:

userLines = list() 

firstLine = raw_input("Please enter a line from a verse of your favorite song: ") 
userLines.append(firstLine) 

while True: 
    userPrompt = raw_input("would you like to enter more lines? ") 

    if userPrompt.lower() == "yes": 
     userLines.append(raw_input("Please enter the next line in the verse: ")) 

    if userPrompt.lower() == "no": 
     break 

所以,现在我们有一个由存储在userLines

用户输入行的列表打印出来,我们所有的这样做是这样的:

for index, line in enumerate(userLines): 
    print('line={} says: {}'.format(index, line)) 

枚举是内置在Python(见documentation)。它基本上允许您循环收集(setlist等)。除了循环列表中的每个项目(这是常规的for-loop所做的)之外,枚举允许为您提供集合中可以找到项目的索引。

简单地说:

for i in range(len(userLines)): 
    index = i 
    line = userLines[i] 
    doStuff(index, line) 

for index, line in enumerate(userLines): 
    doStuff(index, line) 

相等

希望帮助!

+0

然后请考虑点击答案旁边的复选框并接受它。这也将解决问题,因为已被回答。玩的开心! –

+0

刚刚检查过。如果你不介意的话,你能解释一下循环以及每个部分的作用吗? – Millzy

+0

编辑该问题以提供更多的上下文 - 希望这样做有道理。 –