메모장

파이썬 [ 능력단위 평가 실습 2 ] 본문

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
반응형

'Python > 개념정리' 카테고리의 다른 글

파이썬 numpy [ 실습 4 ]  (0) 2024.05.30
파이썬 [ 능력단위 평가 실습 ]  (0) 2024.05.14
파이썬 numpy [ 실습 3 ]  (0) 2024.05.14
파이썬 numpy [ 실습 2 ]  (0) 2024.05.14
파이썬 numpy [ 실습 ]  (0) 2024.05.14