我需要得到负数除以后由%
运算符。我创建了一个新的类。它获得以毫秒为单位的进程持续时间,并以秒、分钟、小时和天表示它。在负输入的情况下,它应该代表持续时间的负值。我发明了表示秒数的方法。
class Duration:
def __init__(self, milliseconds: int):
self.__milliseconds = int(milliseconds)
def seconds(self):
return abs(self.__milliseconds) // 1000 % 60 * self.is_negative()
def is_negative(self):
return -1 if self.__milliseconds < 0 else 1
函数is_negative()
有助于在%
除法后返回负值。否则,我会得到1%除数,这会破坏我的add()计算。比如Duration(1000)-Duration(3000)
等等。
,在负毫秒值的情况下,是否有更方便的获取秒值的方法?
发布于 2016-11-17 05:17:10
你不喜欢你的代码吗?我会这样做的,但你的看起来也不错.
class Duration:
def __init__(self, milliseconds: int):
self.__milliseconds = int(milliseconds)
def seconds(self):
div, mod = divmod(self.__milliseconds // 1000, 60)
return mod if div >= 0 else mod-60
https://stackoverflow.com/questions/40655534
复制相似问题