더북(TheBook)

Self Check

1 두 리스트에 각각 도서 제목과 도서 가격을 넣은 후, 이 둘을 인덱스로 연결하는 문제입니다. 따라서 book_name[i]의 가격이 book_price[i]에 들어가야 합니다.

1) book_name의 길이에 맞춰 book_price에 가격을 넣습니다. 반복문에 직접 도서 종수인 6을 넣어도 되고, 리스트 길이를 이용해도 됩니다. 도서 가격은 15,000~25,000원 사이의 무작위 정수라고 했으므로 random.randint(15000, 25000)으로 구하고, append() 명령어로 book_price 리스트에 추가합니다. 마지막에 print() 명령어로 book_namebook_price 리스트를 출력합니다. 도서 가격은 무작위 정수이므로 실행결과는 책과 다를 수 있습니다.

import random
book_name = ['역사탐험대', '파이썬', '학습법', '영단어', '여행에세이', '삼국지']
book_price = []
for i in range(len(book_name)):
    book_price.append(random.randint(15000, 25000))
print(book_name)
print(book_price)
실행결과
['역사탐험대', '파이썬', '학습법', '영단어', '여행에세이', '삼국지']
[22752, 17014, 23500, 21014, 16416, 24628]

2) 가장 비싼 책을 구하려면 ① book_price 리스트에서 max()로 가장 높은 가격을 구하고 ② index()로 이 금액이 book_price의 몇 번째 인덱스에 있는지 구해야 합니다. 마지막으로 가장 비싼 도서의 제목을 출력해야 하므로 ③ book_name 리스트에서 해당 인덱스에 있는 데이터를 출력합니다. book_namebook_price는 서로 다른 리스트지만, 도서 제목 book_name[i]와 도서 가격 book_price[i]가 인덱스로 연결되어 있기 때문에 구할 수 있습니다. ①~③을 순서대로 코드로 작성하면 다음과 같습니다. 도서 가격은 무작위 정수이므로 실행결과는 책과 다를 수 있습니다.

expensive = max(book_price)             # ①
idx = book_price.index(expensive)       # ②
print('가장 비싼 책은', book_name[idx]) # ③
실행결과
가장 비싼 책은 삼국지
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.