我需要在%
运算符除法后得到负数。
我创建了一个新类。它以毫秒为单位获得进程持续时间,并以秒,分钟,小时和天为单位表示。
在负输入的情况下,它应表示持续时间的负值。
我制作了表示秒的方法。
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()
有助于在%
除法后返回负值。否则我在%divison之后获得1,并且它会中断我的添加()计算。像Duration(1000)-Duration(3000)
或其他
在负毫秒值的情况下获取秒值是否更方便?
答案 0 :(得分:0)
您对代码不满意吗? 我会这样做的,但你的看起来还不错......
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