이 문제의 경우도 page 소스 보기를 했을 때 아래와 같이 나왔다. banner.p 라는 파일을 이용하라는 것 같아 확장자명을 해 본 결과 해당 파일은 pickle 라는 라이브러리가 저장하는 파일이였다.
pickle이란 파일을 객체 상태로 저장하여 나중에 읽을 때 조금 더 손쉽게 데이터에 접근하기 위해 저장하는 방식이다.
<html>
<head>
<title>peak hell</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<center>
<img src="peakhell.jpg"/>
<br><font color="#c0c0ff">
pronounce it
<br>
<peakhell src="banner.p"/>
</body>
</html>
<!-- peak hell sounds familiar ? -->
처음 데이터를 불러왔을 때 아래와 같이 되어 있었는데 특수문자와 공백 그리고 그 뒤에 숫자가 오는 것으로 보아 특정한 규칙으로 그림 형식을 만드는 것이라 생각했다
리스트 안에 튜플이 있는 구조
그래서 아래와 같이 첫번째 값을 가져와 튜플의 값을 곱한뒤 result 에 저장 후 반복하여 그림을 출력하였다.
import pickle, urllib.request
url_data = urllib.request.urlopen('http://www.pythonchallenge.com/pc/def/banner.p')
data = pickle.load(url_data)
url_data.close()
result = ""
for list_data in data:
print(result)
result = ""
for tuple_data in list_data:
result += (''.join(tuple_data[0]) * tuple_data[1])
'Python > Python Challenge' 카테고리의 다른 글
[Python Challenge]파이썬 챌린지 Level 7 풀이 (0) | 2022.07.28 |
---|---|
[Python Challenge]파이썬 챌린지 Level 6 풀이 (0) | 2022.07.22 |
[Python Challenge]파이썬 챌린지 Level 4 풀이 (0) | 2022.07.20 |
[Python Challenge]파이썬 챌린지 Level 3 풀이 (0) | 2022.07.19 |
[Python Challenge]파이썬 챌린지 Level 2 풀이 (0) | 2022.07.19 |