Python/개념정리
파이썬 [ 능력단위 평가 실습 2 ]
Itchild
2024. 5. 14. 16:39
728x90
반응형
✔️ 해당 내용에 주석을 달아보자
import csv
import matplotlib.pyplot as plt
import numpy as np
while True: # 오답 시 다시 입력해야 하므로 while
with open('korea.csv','r') as file: # 해당자료를 읽어와 비교 해야 하므로 while안에 있어야 한다.
data=csv.reader(file) # 한 행씩 데이터를 읽는다.
header=next(data) # 헤더 부분
print()
area=input('동 이름 입력>> ') # 사용자에게 입력을 받는다.
city=[] # 검색내용을 담을 배열 생성
for row in data: # 데이터의 행 중에서
if area in row[0]: # row[0] : 행정구역 중에서 입력받은 값이 있는지
city.append(row[0]) # 해당하는 입력 값을 city 저장
sample=np.array(row[3:], dtype=int) # 해당하는 값의 인구수를 모두 저장
print(row[0]) # 검색조건으로 나온 데이터 출력
if not city: # 해당 이름이 없다면
print('해당 이름을 가진 동은 없습니다.')
elif len(city) ==1: # 정확히 입력하여 해당 입력이 1개만 출력된다면
break # 정답
else: # 검색어 데이터 값이 2개 이상이라면
print('해당 이름을 가진 동이 여러개입니다!')
print('정확하게 입력해주세요!')
plt.plot(sample) # 그래프
plt.show() # 그래프 출력
✅ 파일을 읽어오는 로직을 왜 while 안에 작성해야 할까 ?
with open('korea.csv','r') as file:
data=csv.reader(file)
header=next(data)
⬆️ 해당 로직은 파일을 읽어 오고 헤더를 작성하는 부분 이다.
while 밖에 있다면 처음 불러온 내용에 대해서 while 문이 실행 되므로 결과값이 다르게 나올 수 있다.
따라서, while 문 안에 실행되어 실행할때 결과가 갱신되도록 해야 한다.
728x90
반응형