我正在学习Python并遇到此代码的问题。我使用for循环遍历列表,我需要它在最后一项之前打印单词'and'
。我有它工作,但不是我想要的方式。
而不是'and ' + last item
出现在列表中,当我打印时它出现在它之外。有人能给我一个关于我做错了什么的线索吗?
listToPrint = []
while True:
newWord = input("Enter a word to add to the list (press return to stop adding words) > ")
if newWord == "":
break
else:
listToPrint.append(newWord)
for i in range(1):
print(listToPrint[0:-1], end =', ' + 'and ' + listToPrint[-1])
答案 0 :(得分:2)
你可以简单str.join()
一段你的单词没有最后一个并打印最后一行:
print("{}, and {}".format(", ".join(listToPrint[:-1]), listToPrint[-1]))
答案 1 :(得分:0)
以下代码执行您似乎想要的内容。
listToPrint = []
while True:
newWord = input("Enter a word to add to the list (press return to stop adding words) > ")
if newWord == "":
break
else:
listToPrint.append(newWord)
listToPrint[-1] = "and " + listToPrint[-1]
print(listToPrint)