Initial commit
This commit is contained in:
23
Solutions/9_2/stock.py
Normal file
23
Solutions/9_2/stock.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# stock.py
|
||||
|
||||
from structly.structure import Structure
|
||||
|
||||
class Stock(Structure):
|
||||
name = String()
|
||||
shares = PositiveInteger()
|
||||
price = PositiveFloat()
|
||||
|
||||
@property
|
||||
def cost(self):
|
||||
return self.shares * self.price
|
||||
|
||||
def sell(self, nshares: PositiveInteger):
|
||||
self.shares -= nshares
|
||||
|
||||
if __name__ == '__main__':
|
||||
from structly.reader import read_csv_as_instances
|
||||
from structly.tableformat import create_formatter, print_table
|
||||
portfolio = read_csv_as_instances('../../Data/portfolio.csv', Stock)
|
||||
formatter = create_formatter('text')
|
||||
print_table(portfolio, ['name','shares','price'], formatter)
|
||||
|
||||
Reference in New Issue
Block a user