Skip to content

Latest commit

 

History

History
30 lines (22 loc) · 679 Bytes

soln1_6.md

File metadata and controls

30 lines (22 loc) · 679 Bytes

Exercise 1.6 - Solution

(b) Main Module

# 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