파이썬 딕셔너리

/검색은 타이틀만 검색을 하나 부분 단어를 입력하여도 시작 단어가 같으면 검색이 가능 하도록 한다. 예를 들면, 책 제목이 “파이썬이 가장 쉬웠어요” 일 때 검색 단어가 “파이썬”, “가장”, “쉬웠어요” 등의 단어로 검색하면 결과가 나온다/ 벨류값넣으면 딕셔너리에 없는 단어 넣어도 출력이 되네여... 4시간째 이것만 보고있습니다 도와주세요 ㅠㅠㅠ

while True: Book_dic={} num=int(input('작업을 선택하세요\n1.도서등록\n2.도서검색\n3.도서정렬\n4.도서삭제'))

if num==1:
        print('도서의 정보를 입력하세요')
        #Book=('1.이름\n2.ISBN\n3.저자\n4.회사\n5.가격')
        #Book_dic={}
        Title=input('이름')
        ISBN=input('ISBN')
        author=input('저자')
        company=input('회사')
        price=input('가격')
        Book_dic={'Title':Title,'ISBN':ISBN,'author':author,'company':company,'price':price}
        print(Book_dic) 
if num==2:
  Book_dic={'Title':Title,'ISBN':ISBN,'author':author,'company':company,'price':price}
    print('검색하고자 하는 도서를 선택하세요')
    find=input('1.이름: ')

: ')

  • 혹시 list 공부하셨나요? 전대호 2017.11.27 20:25
  • 네 제가 문법들은 알겠는데요... 응용을 못하겠습니다..실습하는게 많이 부족한거 같은데요 어떤 식으로 공부해야 도움이 될까요 전승환 2017.11.27 20:55
  • 주석처리까지 감사합니다.... ㅠㅠ 전승환 2017.11.27 21:06
  • 지금 보고 계신책에 나와있는 예제코드들 눈으로만 보지마시고 집적 따라서 입력해보세요. 쉬워보이는것도요! 전대호 2017.11.27 22:49

1답변

  • 좋아요

    1

    싫어요
    채택취소하기
    Book_list = []
    
    while True:
        num = int(input('\n\n작업을 선택하세요\n1.도서등록\n2.도서검색\n3.도서정렬\n4.도서삭제\n'))
    
        if num==1:
            print('도서의 정보를 입력하세요')
            Title=input('이름 : ')
            ISBN=input('ISBN : ')
            author=input('저자 : ')
            company=input('회사 : ')
            price=input('가격 : ')
            Book_dic={'Title':Title,'ISBN':ISBN,'author':author,'company':company,'price':price}
            Book_list.append(Book_dic) #Book_list에 해당 딕셔너리 추가
            print(Book_dic)
        elif num==2:
            print('검색하고자 하는 도서를 선택하세요\n')
            book_name=input('1.이름 : ')
            for i in Book_list:  #Book_list에서 딕셔너리를 하나씩 가져옴
                title_words = i.get('Title').split()
         #가져온 딕셔너리의 Title을 공백을 기준으로하여 분리 후 각각의 단어를 리스트에 저장 // title_words가 어떻게 저장되는지 알고싶으면 print(title_words) 넣어보기.
    
                for j in title_words: #title_words 리스트에 들어있는 단어를 하나씩 가져옴
                    if book_name == j: #입력한 책 제목이 해당 리스트에 존재하면 해당 딕셔너리 정보 전체 출력
                        print(i)
    

    이렇게 짜기를 원하신거 맞나요?

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.