如何使用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)。它基本上允许您循环收集(set
,list
等)。除了循环列表中的每个项目(这是常规的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)
相等
希望帮助!
然后请考虑点击答案旁边的复选框并接受它。这也将解决问题,因为已被回答。玩的开心! –
刚刚检查过。如果你不介意的话,你能解释一下循环以及每个部分的作用吗? – Millzy
编辑该问题以提供更多的上下文 - 希望这样做有道理。 –