因此,我试图创建一个类似于拍卖的程序,到目前为止,我已经创建了一个类,该类包含了投标者、投标人id和代码(按def(__init__(self...))中的顺序排列)的信息,这是我到目前为止所拥有的.
class Starter:
def __init__(self, startd, starterid, bidding):
self.startd = startd
self.starterid = starterid
self.bidding = bidding现在,我正在尝试实现一个新的类,即投标,其中每个拍卖都由一个拍卖标识符标识。
该类具有以下特性:
·它可以通过投标(投标)来创建,例如,(投标)是来自于类初学者的,
bidtest = Auction('ewmzr')创建具有投标标识符'ewmzr'的投标实例。
·beginbid(bidder_id)方法反映了投标人的行为,bidder_id在这次拍卖中出价。也就是说,如果一个是一个投标实例,那么对a.beginbid(starterid)的调用就会将一个投标人的出价放在starterid上。
·如果是一个投标实例,那么a.price是这个投标的当前价格,而a.winner是这个投标的当前赢家。按照惯例,在任何人出价之前,a.winner都是零。
这是我到目前为止..。
class Starter:
def __init__(self, startd, starterid, bidding):
self.startd = startd
self.starterid = starterid
self.bidding = bidding
c = Starter(1, '8dac2b', 'ewmzr')
class Bidding:
def __init__(self,bidding):
self.bidding = self.bidding
def Beginbid(self,starterid):
return starterid然而,这根本不起作用。我想我不理解类的概念。有人能帮我解决这个问题吗?
发布于 2021-12-06 12:16:23
听起来你想要你的投标对象持有当前出价最高者的id,并且你想给它一个谁开始投标的初始值?
您可以像这样传入Starter对象:
class Starter:
def __init__(self, startd, starterid):
self.startd = startd
self.starterid = starterid
class Bidding:
def __init__(self, starter):
self.current_bidder = starter.starterid
c = Starter(1, '8dac2b', 'ewmzr')
b = Bidding(c)但是,直接存储对当前投标人的引用可能会更好,而不是他们的ID:
class Starter:
def __init__(self, startd, starterid):
self.startd = startd
self.starterid = starterid
class Bidding:
def __init__(self, starter):
self.current_bidder = starter
c = Starter(1, '8dac2b', 'ewmzr')
b = Bidding(c)这样,您以后就不需要从对象的ID中查找对象了。
如果begin_bid打算更新当前出价最高的投标人,那么它看起来很简单:
def begin_bid(self, bidder):
self.current_bidder = bidder其他方法将是主题的变体,更新或获取实例变量。
这有帮助吗?
https://stackoverflow.com/questions/70244901
复制相似问题