"""
2020-06-01 Python 打卡
1、根據(jù)下面運行流程圖和提示财喳,實現(xiàn)文字版圖書管理功能。
提示:主體流程代碼已實現(xiàn)如下,三個功能分別用函數(shù)來實現(xiàn).
每本圖書用一個字典來存儲:book1 ={'id':編號允扇,'name':書名,'location':位置}
所有的圖書放在一個列表:books =[book1,book2,book3..............]
主要運用知識點:字典和列表的增刪查相關(guān)操作则奥, for循環(huán) while循環(huán)
基本要求:
實現(xiàn)添加考润、刪除、顯示所有書籍的功能函數(shù)读处。
添加圖書時:不用考慮書名糊治、編號、位置是否和已有的書籍信息重復(fù):
刪除圖書時:輸入刪除的書籍罚舱,找到名為書籍的所有數(shù)據(jù)井辜,顯示出來,然后用戶根據(jù)編號選擇刪除管闷。
擴展要求:添加圖書時粥脚,書名和位置可以隨便寫,編號不能和已經(jīng)添加過得數(shù)據(jù)重復(fù)
"""
books = [{'id':'1','name':'Python','addr':'a1'},{'id':'2','name':'Java','addr':'a2'}]
del_books = []
def print_menu():
print("="*40)
print(" 圖書管理系統(tǒng)V6.1")
print("1.查詢圖書")
print("2.增加圖書")
print("3.刪除圖書")
print("4.退出系統(tǒng)")
print("="*40)
#函數(shù):添加圖書
def add_new_name():
# new_id = input("請輸入圖書ID:")
while True:
new_id = input('請輸入你要新增的圖書ID:')
for test_id in books:
if new_id in test_id['id']:
print('圖書館有此ID的書籍')
break
else:
break
new_name = input("請輸入圖書名稱:")
new_addr = input("請輸入圖書存放地址:")
#建立一個字典包个,把信息保存到字典的相對應(yīng)位置
new_infor = {}
new_infor['name'] = new_name
new_infor['id'] = new_id
new_infor['addr'] = new_addr
#將字典添加到列表中
books.append(new_infor)
#打印
print(books)
#函數(shù):刪除
def del_name():
del_names = input("請輸入要刪除的圖書姓名:")
for temp in books:
if del_names in temp['name']:
del_books.append(temp)
print(del_books)
del_id =input('請選擇你要刪除書籍的ID:')
for temp1 in books:
if del_id in temp1['id']:
books.remove(temp1)
print("ID為 %s 的書籍已刪除"% del_id)
#函數(shù):顯示所有圖書
def display_all_name():
for temp in books:
print("ID:%s\n圖書名稱:%s\n存放地址:%s\n"%(temp['id'],temp['name'],temp['addr']))
#主函數(shù)
def main():
print_menu()
while True:
num = int(input("請輸入相對應(yīng)的數(shù)字:"))
if num ==1:
display_all_name()
elif num == 2:
add_new_name()
elif num == 3:
del_name()
elif num == 4:
print('歡迎下次使用刷允。。赃蛛。')
break
else:
print("您輸入的選項不正確恃锉!")
main()