연습 문제 2.9: 데이터 수집
연습 문제 2.7 에서 주식 포트폴리오의 손익을 계산하는 report.py라는 프로그램을 작성했습니다. 이 연습 문제에서는 다음과 같은 표를 생성하도록 해당 프로그램을 수정하기 시작합니다.
Name Shares Price Change
---------- ---------- ---------- ----------
AA 100 9.22 -22.98
IBM 50 106.28 15.18
CAT 150 35.46 -47.98
MSFT 200 20.89 -30.34
GE 95 13.48 -26.89
MSFT 50 20.89 -44.21
IBM 100 106.28 35.84
이 보고서에서 "Price"는 주식의 현재 주가를 의미하고 "Change"는 초기 구매 가격에서 주가 변동을 의미합니다.
위 보고서를 생성하려면 먼저 표에 표시된 모든 데이터를 수집해야 합니다. 주식 목록과 가격 딕셔너리를 입력으로 받아 위 표의 행을 포함하는 튜플 목록을 반환하는 함수 make_report()를 작성하십시오.
이 함수를 report.py 파일에 추가하십시오. 대화형으로 시도하면 다음과 같이 작동합니다.
>>> portfolio = read_portfolio('/home/labex/project/portfolio.csv')
>>> prices = read_prices('/home/labex/project/prices.csv')
>>> report = make_report(portfolio, prices)
>>> for r in report:
print(r)
('AA', 100, 9.22, -22.980000000000004)
('IBM', 50, 106.28, 15.180000000000007)
('CAT', 150, 35.46, -47.98)
('MSFT', 200, 20.89, -30.339999999999996)
('GE', 95, 13.48, -26.889999999999997)
...
>>>