作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一本代表书店的字典。键代表书名,值代表该书的份数。当书籍从商店出售时,书籍的份数必须减少。
我已经编写了一个代码来减少已售图书的份数,但是在更新后打印字典时,我得到的是初始字典而不是更新后的字典。
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)
我想以最简单的方式解决问题。我是否遗漏了代码中的任何逻辑或任何行?
最佳答案
好吧,您可以通过引用键直接从值中减去。我认为哪个更简单。
>>> books = {}
>>> books['book'] = 3
>>> books['book'] -= 1
>>> books
{'book': 2}
在你的情况下:
book_shop[ch1] -= 1
关于python - 如何在 Python 中更新字典中键的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41063744/
我是一名优秀的程序员,十分优秀!