타과 문제인데 심심해서 풀어봄...

 

mybooks = [{"제목":"안드로이드앱개발", "저자":"최전산", "출판사":"PCB", "가격":"25000", "출판년도":"2017"},
           {"제목":"파이썬", "저자":"강수라", "출판사":"연두", "가격":"23000", "출판년도":"2019"},
           {"제목":"자바스크립트", "저자":"박정식", "출판사":"SSS", "가격":"38000", "출판년도":"2018"},
           {"제목":"HTML5", "저자":"주환", "출판사":"대한", "가격":"33000", "출판년도":"2011"},
           {"제목":"컴파일러", "저자":"장진웅", "출판사":"PCB", "가격":"24000", "출판년도":"2011"},
           {"제목":"C언어", "저자":"헝말숙", "출판사":"한국", "가격":"29000", "출판년도":"2010"},
           {"제목":"프로그래밍언어론", "저자":"현정숙", "출판사":"정의출판", "가격":"29000", "출판년도":"2010"},
           {"제목":"안드로이드", "저자":"이광희", "출판사":"한국", "가격":"42000", "출판년도":"2013"},
           {"제목":"앱인벤터", "저자":"박규진", "출판사":"대한", "가격":"30000", "출판년도":"2015"}]

keyword = {'1':'제목', '2':'저자', '3':'출판사'}

def inputSearchKeyword():
    while(True):
        key = input("도서 검색 키워드\n  1.도서명\n  2.저자명\n  3.출판사명\n선택(1,2,3) : ")
        if key == '1' or key =='2' or key == '3':
            return key
        else:
            print("1, 2, 3 중 하나로 입력해주세요.\n")

def inputSearchWord(key):
    return input('{} >>> '.format(keyword.get(key)))

def findBooks(searchKeyword):
    matchList = []
    for idx, val in enumerate(mybooks):
        if searchKeyword == val.get(keyword.get(key)):
            matchList.append(idx)
    
    return matchList

import re

lowerCase = re.compile('[a-z]')

def lowerToUpper(word):
    temp = ''
    for each in word:
        if lowerCase.search(each):
            each = each.upper()

        temp += each

    return temp

def printResult(findResult):
    for target in findResult:
        print("\n제 목: {}\n저 자: {}\n출판사: {}\n가 격: {}".format(mybooks[target].get('제목'),
                                 mybooks[target].get('저자'),
                                 mybooks[target].get('출판사'),
                                 mybooks[target].get('가격')))

# 실행로직
key = inputSearchKeyword()
search = inputSearchWord(key)
refinedSearch = lowerToUpper(search)
findResult = findBooks(refinedSearch)
printResult(findResult) if findResult != [] else print("\n검색한 도서가 없습니다.")

 

+ Recent posts