import csv
# csv 쓰기
dataList = [
['종목', '매입가', '수량', '목표가'],
['삼성전자', 85000, 10, 90000],
['NAVER', 380000, 5, 400000],
]
file = open('./myvenv/Chapter10/mystock.csv', 'w', encoding='utf-8-sig')
writer = csv.writer(file)
for data in dataList:
writer.writerow(data)
file.close()
# csv 읽기
file = open('./myvenv/Chapter10/mystock.csv', 'r', encoding='utf-8-sig')
reader = list(csv.reader(file))
# csv reader 메서드는 iterable 객체이지만 리스트 타입은 아니기 때문에 변환시켜주어야 한다
for data in reader[1:]:
name = data[0]
buy = int(data[1])
amount = int(data[2])
goal = int(data[3])
# f-string 소수점 관리
print(f"{name} {(goal - buy) * amount} {(goal/buy - 1) * 100:.2f}%")
file.close()
# 커스텀 에러 만들기
# 기존 에러 클래스에 상속을 받아 부모 메서드를 호출하여 경우의 수를 추가
class PositiveNumbeError(Exception):
def __init__(self):
super().__init__('양수 입력 불가')
num = input('숫자 입력\n>>')
try:
num = int(num)
if num >= 0:
# 임의로 에러를 발생시킨다
raise PositiveNumbeError
except Exception as error:
print(f'에러 메시지: {error}')
else:
print(f'에러 없이 무사히 통과 {num}')
finally:
print('에러가 있든 없든 실행되는 구간')
해당 내용은 패스트 캠퍼스 권기준 강사님의 강의 내용을 바탕으로 작성되었으며 좋은 강의 감사합니다.
'study' 카테고리의 다른 글
k진수에서 소수개수 구하기 (0) | 2022.09.24 |
---|---|
[python] Class (0) | 2022.08.05 |
시간 복잡도 (0) | 2022.06.21 |
boj 1406 javascript (0) | 2022.06.20 |
boj 13300 javascript (0) | 2022.06.18 |