홍길동 = list()
홍길은 = list()
홍길금 = list()
book = {1:"도레미제라블",2:"위대한 소츠비", 3:"어른 왕자", 4:"아이와 산", 5:"곤충 농장",
6:"춘추전국시대", 7:"분노의 사과", 8:"강철북", 9:"첫 번째 잎새", 10:"그리고 아무 말이나 했다"}
borrower = {}
def borrow():
cnt = 0
book_list = []
while cnt !=3:
thisbook = input("빌릴 책의 코드:")
if thisbook =="q":
break
book_list.append(book[int(thisbook)])
cnt = cnt + 1
return book_list
while True:
a = input("회원 이름을 입력하세요.:")
if a == 'q':
break
borrower[a] = borrow()
print("현재 대출 자 목록")
print(borrower)
이 코드를 통해 대출자 목록이
{'홍길동':['도레미제라블','어른왕자']. '홍길은':['춘추전국시대
, '분노의 사과', '위대한 소츠비']}
와 같이 출력됩니다. 이코드를 수정하여 만약 같은 책의 코드가 두번 입력되면 '이미 대출된 책입니다'
를 출력하고 싶습니다. 따라서 input으로 빌릴 책 코드를 입력받고 입력받은 코드를 del을 통해 book 딕셔너리에서 삭제하고 그 다음 다시 입력받도록 수정하고 싶습니다. 다시 입력 받을 때 book 딕셔너리에 없는 key를 입력받았을 때 '이미 대출된 책입니다'
를 출력하는 것입니다. 그래서, 중간에 def 부분을
def borrow():
cnt = 0
book_list = []
while cnt !=3:
thisbook = input("빌릴 책의 코드:")
del book[thisbook] # 제가 삽입한 부분--------------
if thisbook not in book:
print("대출된 책입니다.") #--------------------
if thisbook =="q":
break
book_list.append(book[int(thisbook)])
cnt = cnt + 1
return book_list
이렇게 바꾸니 에러가 뜹니다. 사실 잘못된 코드라는 것은 감이 오는데 어찌해야할지 모르겠네요.. 도움 구해봅니다.