我是新來的詞典概念,並陷入了一個問題。我編寫了一本書店的字典,在字典中,鍵是作者的最後一個名字,即。 「莎士比亞,威廉。在字典中改變列表
{'Dickens,Charles': [['Hard Times', '7', '27.00']],
'Shakespeare,William': [['Rome And Juliet', '5', '5.99'],
['Macbeth', '3', '7.99']]}
- 價值觀是:書籍名稱,庫存量和價格。我想要一個可以改變書本數量的函數。
- 用戶將輸入:作者的姓氏,然後輸入書名,然後輸入他們想要的新數量。
- 如果作者不存在,它應該說,沒有一個作者的名字是給定的,如果這本書不存在,也是一樣的。
- 在一個單獨的函數中,我需要合計這個庫存的總量。所以現在看,它會是5 + 3 + 7 = 15本書。我需要一個類似的價格函數,但它應該與我相信的數量基本相同。
謝謝你的幫助。
我試圖創建另一個字典,書籍作爲關鍵字如下:
def addBook(theInventory):
d = {}
first = input("Enter the first name: ")
last = input("Enter the last name: ")
first = first[0].upper() + first[1:].lower()
last = last[0].upper() + last[1:].lower()
name = last + "," + first
book = input("Enter the name of the book: ")
for name, books in sorted(theInventory.items()):
for title, qty, price in sorted(books):
d[title] = []
d[title].append(qty)
d[title].append(price)
d[book][0] = qty
我需要用新的數量更新theInventory,所以theInventory會在main()改變,但是這是不是做它。我該如何做到這一點,因爲d引用了庫存並改變了庫存中的數量?
你嘗試過什麼/你有什麼地方你困惑一個更具體的問題? – Alec
「價值是書名,現有數量和價格」實際上,這些價值列表包含名稱,數量和價格三元組。 – Alec
我可以通過說:theInventory ['Shakespeare,William'] [1] [1] =「新號碼」來改變麥克白的價值,但我想要一個更一般的聲明,你不能只是硬編碼它。我對如何接受這本書的名字感到困惑不解。 – user3599753