31 lines
679 B
Markdown
31 lines
679 B
Markdown
|
# Exercise 1.6 - Solution
|
||
|
|
||
|
## (b) Main Module
|
||
|
|
||
|
```python
|
||
|
# pcost.py
|
||
|
|
||
|
def portfolio_cost(filename):
|
||
|
total_cost = 0.0
|
||
|
with open(filename) as f:
|
||
|
for line in f:
|
||
|
fields = line.split()
|
||
|
try:
|
||
|
nshares = int(fields[1])
|
||
|
price = float(fields[2])
|
||
|
total_cost = total_cost + nshares * price
|
||
|
|
||
|
# This catches errors in int() and float() conversions above
|
||
|
except ValueError as e:
|
||
|
print("Couldn't parse:", line)
|
||
|
print("Reason:", e)
|
||
|
|
||
|
return total_cost
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
print(portfolio_cost('Data/portfolio.dat'))
|
||
|
```
|
||
|
|
||
|
|
||
|
[Back](ex1_6.md)
|