2 回答

TA貢獻1789條經驗 獲得超10個贊
每次調用該函數時,您都會創建新的空列表。該函數應將列表作為參數并修改它們。
def alist(wlist, dlist):
wele = input("Enter a word: ")
dele = input("Enter a definition: ")
wlist.append(wele)
dlist.append(dele)
word_list = []
def_list = []
word_count = int(input("How many words are you defining? "))
for _ in range(word_count):
alist(word_list, def_list)
print("Words' List: ", word_list, "\nDefinitions' List: ", def_list)
設置列表參數允許您擁有多個單詞列表,例如
spanish_words = []
spanish_defs = []
alist(spanish_words, spanish_defs)
然而,將相關數據保存在單獨的列表中通常是糟糕的設計,您必須保持同步。最好使用單個字典或元組列表,這樣所有相關項(例如單詞及其定義)都放在一起。

TA貢獻1865條經驗 獲得超7個贊
當您附加到列表時,您將其分配給新變量 x 和 y,但您永遠不會對這些變量執行任何操作。wor并且def永遠不會改變。實際上,您不必分配append()給新變量,它會就地發生。
如果您希望兩個列表在每次調用函數時始終保留它們所包含內容的內存,那么您應該在函數范圍之外定義它們,否則每次調用函數時都會將它們重新啟動為空列表。
l1 = []
l2 = []
def alist():
wele = str(input("Enter a word: "))
dele = str(input("Enter a definition: "))
l1.appnd(wele)
l2.append(dele)
print("Words' List: ", l1, "\nDefinitions' List: ", l2)
添加回答
舉報