2015-10-19 36 views
0

我想生成一個列表python。在這個程序中,我試圖編寫一個函數,它從鍵盤獲取一個列表值,並返回一個字符串,其中所有項用逗號和空格分隔,並在最後一項之前插入「和」「。 例如,將前面的垃圾郵件列表傳遞給該函數將返回 '蘋果,香蕉,豆腐和貓'。她是我的代碼嘗試使用python腳本生成列表

spam=[] 

def rock(val): 
    while True: 
     print("Enter the text: ") 
     val=input() 
     spam.append(val) 
     return spam 


print("Enter the number: ") 
n=int(input()) 
for i in range(0,n): 
    s=', '.join(rock('')) 
    print(s) 

Output: 
Enter the number: 
3 
Enter the text: 
rock 
rock 
Enter the text: 
dog 
rock, dog 
Enter the text: 
cad 
rock, dog, cad 

現在,在上面提到的程序中,我成功生成了一個由逗號分隔的列表。但我不知道如何將「和」「放在最後一個值之前。這樣,「蘋果,香蕉,豆腐,和貓」

回答

1

剛剛加入使用列表的頭「‘再加入使用’和」,例如:

words = ["apples", "bananas", "tofu", "cats"] 

head = ", ".join(words[:-1]) 
result = ", and ".join([head, words[-1]]) 

print(result) 

(最後一個可以直接連接:`result = head +「和」+ words [-1])

+0

它給出語法錯誤。 – Jordan

+0

@Jordan你在哪裏得到語法錯誤?我已經驗證使用'python'和'python3'。我已經用示例輸入數據和結果打印輸出更新了答案。 – skyking

+0

非常感謝你這麼多代碼工作得很好。 – Jordan