본문 바로가기
FastCampus/작심 30일

패스트캠퍼스 챌린지 29일차

by Dream_World 2021. 10. 4.

파일 입출력

잠들기 전 모바일로 검토하면서 수정사항이 있어서 변경을 눌렀는데 앞으로 모바일 편집을 하면 안될 것으로 보였다. 모바일에서 오타 수정한다고 바꿨다가 코드 구문이 전부 다 깨져있는것을 발견하게 된다. 이렇게 되면 코드 알아보기도 힘들 정도로 주석 무시하고 다 한 줄로 표기되어 난해하게 표기되어 있다. 순간 당황해서 일어나자마자 노트북을 열어 재 편집을 실시하게 되었다. 편집 완료 후 강의를 시청하게 되는데 파일 입출력 실습문제가 떡하니 보여진다. 강의를 듣다보니 오류 해결 위주로 설명해주는 것을 보게 된다. 여태껏 다 해결된 문제들이라 쉽게 넘기고 있었는데 역시 나랑 보는 관점이 다르다. 일부러 틀리게 하는 것을 보이면서 헷갈릴거라고 생각하는 관점을 난 이해하지 못하였다. 오류가 나기 이전에 이미 이전에 학습하면서 중간 중간 봤던 부분이여서 금방 알아차릴 수 있었다. 강사님이 알려주시는 팁은 오류를 보고 겁먹지 말고 해당 구문을 복사 해서 구글링을 통해서 해결하는 방법을 알려주고 계신다. 많은 개발자들이 그렇게 해결해 왔으며 서로 공유를 통해 원하는 답을 얻을 수 있다는 것을 보여준다. 초보 관점으로 봤을 때는 좋은 팁이긴 하였다. 나는 문제만 이해를 못할 뿐 오류는 참 잘 찾아내려고 노력하는 것 같았다. 오류만 보면 오히려 반갑다고 해야할까 ? 오류가 없는 부분을 더 이상하게 보일 뿐이다.

 


CSV 파일 입출력

CSV 파일 입출력 실습문제 시작 화면

실습문제 10.1.1

보유한 주식이 목표가에 도달했을 때의 종목별 수익금과 수익률을 출력해주는 프로그램을 작성해보자. mystock.csv 파일로 부터 종목, 매입가, 수량, 목표가 정보를 가져온다.

 

수익금 = (목표가-매입가) * 수량

수익률 = (목표가/매입가-1) * 100

실습문제 10.1.1

 

mystock.csv

종목,매입가,수량,목표가
삼성전자,85000,10,90000
NAVER,380000,5,400000

mystock.csv 불러오는 코드

import csv

file = open("mystock.csv 파일경로", "r", encoding="utf-8")
reader = csv.reader(file)

for data in reader:
    print(data)

file.close()

mystock.csv 출력화면

리스트 정보에서 0번째 인덱스는 표기할 필요가 없다.

mystock.csv [1:] 1번째 인덱스 적용

...

for data in reader[1:]:

...

TypeError: '_csv.reader' object is not subscriptable 오류 발생

실제로 리스트 구문이 아니라는 뜻이다. 변환이 필요하다.

mystock.csv list(csv.reader(file)) 적용

...

reader = list(csv.reader(file))

...

mystock.csv 출력화면
실습문제 10.1.1 입출력

 

오늘은 어제 강의에 이어서 csv 실습문제 풀이를 해보는 강의를 학습하였다. 에러코드를 보여주면서 하나 하나 이해할 수 있게 해주셔서 강의에 큰 도움이 되었다. 기존에 했던 오류들도 짚어주셨지만 새로운 오류들을 보는게 더 신선한 느낌이였다. 문제 유형은 어려운 부분은 없었지만 변수명 작성이 너무 어렵기도 하다. 구글링 해서 그대로 쓰게 되는 변수명들이였는데 종목을 예로 들면 검색결과 event가 나오게 된다. 강사님 종목명은 name으로 아주 심플하게 작성하셨다. 왠지 모르게 event 보다 name 명이 더 알아보기 쉬운 느낌이 들어서 숙련자의 느낌이란 이런걸까 ? 라는 생각을 하게 된다. 매번 숫자만 출력하던 강의에서 실수형을 적용해보면서 어떻게 하면 작성할 수 있는지 구글링을 통해 설명해주셨다. 구글링 방법 : python 소수점 2자리 출력 검색하니까 무수히 많은 답을 가져온다. 이렇게 참조하면서 코드 출력 부분을 깔끔하게 해줄 수 있었다. 블로그에는 예제 코드를 쓸 수 없어서 아쉽지만 그럼에도 학습을 한다는 것으로 의의를 둘 수 있었다.

29일차는 여기서 마무리 하고자 합니다.

 



본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.



패스트캠퍼스 링크 : https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

댓글