【发布时间】:2019-07-07 00:28:36
【问题描述】:
我是 Python 新手,想了解 OOP。在我的程序中,我希望用户能够买卖股票,但我正在努力实现此功能。对不起,如果问题是微不足道的。
用户类+它的一个对象
class User:
def __init__(self, name, budget=None, stocks=None):
self.name = name
self.budget = budget or 1000
self.stocks = stocks or 0
def sell_stock(self):
if self.stocks != 0:
self.stocks -= 1
def buy_stock(self):
self.stocks += 1
u1 = User("Karin", stocks=9)
股票类 + 它的一个对象
class Stock:
def __init__(self, price, name, availability=None):
self.price = price
self.name = name
self.availability = availability or 1
s1 = Stock("200", "Netflix")
我想编写一个名为 buy_stock() 的方法,它将执行以下操作:
- u1.budget - s1.price
- u1.stocks += 1
- s1.availability -= 1
- 将显示用户拥有的股票的价格和名称 已购买,因此我会看到一条消息 f"{Karin} 已购买 {Netflix} {200} 美元的股票。”
【问题讨论】:
-
我认为用户拥有
portfolio的股票,而不仅仅是一个数字。您可能需要使用集合(如dict或list)来存储每种不同的类型(使用股票的name作为唯一标识键)和用户拥有的数量。 -
同意凯西。您可以对此模型进行改进,库存对象字典是个好主意。