У меня есть словарь, который представляет собой книжный магазин. Ключи представляют название книги, а значения представляют количество экземпляров книги. Когда книги продаются из магазина, количество копий книги должно уменьшаться.Как обновить значение ключа в словаре в Python?
Я написал код для уменьшения количества копий проданной книги, но после печати словаря после обновления я получаю начальный словарь, а не обновленный.
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
ch=raw_input("Do you want to sell")
if (ch in 'yesYES'):
for i in range(n):
print"which book you want to sell??",book_shop
ch1=raw_input("choice")
if(book_shop.keys()[i]==ch1):
book_shop.keys()[i]=(book_shop.values()[i]-1)
break
print book_shop
Я хотел бы решить проблему самым простым способом. Я пропустил какую-либо логику или любую строку в коде?
Я изменил строку: book_shop.keys() [i] = (book_shop.values () [i] -1) до book_shop.keys() [i] - = 1, но все же это не кажется работать. – Animeartistfromhell7
Измените это на 'book_shop [ch1] - = 1' –
Спасибо, это сработало. Не могли бы вы рассказать мне, что было ошибкой в моем коде? – Animeartistfromhell7