我有一本代表书店的字典。键代表书名,值代表该书的份数。当书从商店出售时,书的份数必须减少。
我已经编写了一个代码来减少已售图书的份数,但是在更新后打印字典时,我得到的是初始字典而不是更新后的字典。
n = input("Enter number of books in shop: ")
book_shop = {} # Creating a dictionary book_shop
# Entering elements into the dictionary
for i in range(n):
book_title = raw_input("Enter book title: ")
book_no = input("Enter no of copies: ")
book_shop[book_title] = book_no
choice = raw_input("Do you want to sell?")
if (choice in 'yesYES'):
for i in range(n):
print("Which book do you want to sell: ", book_shop)
ch1 = raw_input("Enter your choice: ")
if(book_shop.keys()[i] == ch1):
book_shop.keys()[i] = (book_shop.values()[i]-1)
break
print(book_shop)
我想以最简单的方式解决问题。我错过了代码中的任何逻辑或任何行吗?
原文由 Animeartist 发布,翻译遵循 CC BY-SA 4.0 许可协议
那么你可以通过引用键直接从值中减去。我认为这更简单。
在你的情况下: