Class 在%除法后获取负数
我需要在除以Class 在%除法后获取负数,class,python-3.x,oop,Class,Python 3.x,Oop,我需要在除以%运算符后得到负数。 我创建了一个新类。它以毫秒为单位获取进程的持续时间,以秒、分钟、小时和天为单位表示。 如果输入为负值,则应表示持续时间的负值。 我创建了表示秒的方法 class Duration: def __init__(self, milliseconds: int): self.__milliseconds = int(milliseconds) def seconds(self):
%
运算符后得到负数。
我创建了一个新类。它以毫秒为单位获取进程的持续时间,以秒、分钟、小时和天为单位表示。
如果输入为负值,则应表示持续时间的负值。
我创建了表示秒的方法
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
上课时间:
定义初始化(自身,毫秒:int):
self.\uuu毫秒=int(毫秒)
def秒数(自我):
返回abs(self.\u毫秒)//1000%60*self.is\u负()
def为负(自身):
如果self.\u毫秒小于0,则返回-1,否则返回1
函数为负()。否则,在%division之后得到1,它会中断我的添加()计算。例如持续时间(1000)-持续时间(3000)
等
在毫秒值为负值的情况下,是否有更方便的方法获取秒值?您不喜欢代码的哪些方面?
我本来会这样做的,但是你的看起来也不错
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
你不喜欢你的代码中的什么?
我本来会这样做的,但是你的看起来也不错
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
请尝试此返回自我。\u毫秒<0-1:1这在Python@SumitDhariwal中是无效语法。math.copysign
@在Python中,SumitDhariwal是无效语法,三元运算符就像OP postedI一样,我不理解%60
的必要性,因为上面的任何值都不正确,包括60000
,因为它总是而不是60+
尝试这个返回值。\u毫秒<0-1:1这在Python@SumitDhariwal中是无效语法。math.copysign
@在Python中,SumitDhariwal是无效语法,三元运算符就像OP postedI一样,我不理解%60
的必要性,因为上面的任何值都不正确,包括60000
,因为它总是60+