我有以下代码
def __init__(self, calltime, slot):
self.calltime = calltime
self.slot = slot
self.delay = np.random.normal(loc=0, scale=2.5,size=None)
self.arrivalTime = self.slot + dt.timedelta(minutes=self.delay)
self.scanWaitingTime = self.arrivalTime - self.slot
self.scanStartTime =
self.scanEndTime =
我想为我的scanStartTime和scanEndTime指定条件,如下所示:
self.scanStartTime = if self.arrivalTime > slot:
return arrivalTime
else:
return slot
我知道我不能用这种方式编写代码。有人知道我该如何解决吗?
答案 0 :(得分:1)
您可以使用以下条件:
self.scanStartTime=self.arrivalTime
if self.arrivalTime<=slot:
self.scanStartTime=slot
这可以通过自动将其设置为到达时间,然后检查是否到达时间<=槽(>的相反)来实现。如果是,则将scanStartTime设置为slot,否则不执行任何操作。
答案 1 :(得分:0)
您可以创建一个单独的函数,并在构造函数( init )方法中调用它:
def __init__(self, calltime, slot):
self.calltime = calltime
self.slot = slot
self.delay = np.random.normal(loc=0, scale=2.5,size=None)
self.arrivalTime = self.slot + dt.timedelta(minutes=self.delay)
self.scanWaitingTime = self.arrivalTime - self.slot
self.scanStartTime = self.get_scan_start_time()
self.scanEndTime = ""
def get_scan_start_time(self):
if self.arrivalTime > self.slot:
return self.arrivalTime
else:
return self.slot