问题遇到的现象和发生背景
我用for遍历了列表中的字典,但是在调字典中的get()时报错了,想请教一下
问题相关代码,请勿粘贴截图
print('**************图书管理系统**************')
library = [{'name':'三体','author':'刘慈欣','price':24,'number':5},
{'name':'流浪地球','author':'刘慈欣','price':26,'number':9}
,{'name':'平凡的世界','author':'路遥','price':108,'number':3}
,{'name':'活着','author':'余华','price':20,'number':4}]
while 1:
print('1.借书\n2.还书\n3.查询\n4.退出')
choice = int(input('请选择功能:'))
if choice == 1:
i_name = input('请输入所要借阅的书:')
for book in library:
if book.get('name') == i_name:
print(f'您所要借的书当前还有{book.get("number")}本\n请妥善保管好书籍并及时归还')
elif choice == 2:
i_name = input('请输入所要借阅的书:')
for book in library:
if book.get('name') == i_name:
print(f'您所要借的书当前还有{book.get("number")}本\n请妥善保管好书籍并及时归还')
book.get('number') -= 1
elif choice == 3:
pass
elif choice == 4:
import time
print('正在退出系统,请稍后~')
time.sleep(2)
print('退出成功!')
break
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
想在实现借书功能后,将字典中‘number’对应的value值减1