0
votes

Comment faire attribuer des minutes dans une classe de temps compris entre 0 et 59

J'ai donc défini une fonction de telle sorte qu'il renvoie une somme de deux objets code> d'objets code> comme un nouvel objet code> objet code>, mais la somme des minutes dans ce résultant Le temps code> ne peut dépasser 59 et je ne sais pas comment mettre en œuvre cela.

Voici mon code: P>

from timer import Time

sum_of_time = Time(0, 0)
sum_of_time.hours= time1.hours + time2.hours
sum_of_time.minutes = time1.minutes + time2.minutes

return sum_of_time

if sum_of_time.minutes >= 60: # where I try to make minutes within 0 to 59
    sum_of_time.minutes = sum_of_time.minutes - 60
    sum_of_time.hours = sum_of_time.hours + 1
    return sum_of_time


0 commentaires

3 Réponses :


0
votes

Vous voulez obtenir le quotient et le reste lors de la division de 60; Le quotient est ajouté à l'heure et le reste est utilisé comme nombre de minutes.

class Time:
    def __init__(self, h, m):
        self.hours = 0
        self.minutes = 0

    # For simplicity here, assume other is an instance of Time
    def __add__(self, other):
        hours = self.hours + other.hours
        minutes = self.minutes + other.minutes
        q, r = divmod(minutes, 60)
        return Time(hours + q, r)

sum_of_time = time1 + time2


0 commentaires

1
votes

C'est ce que DateTime.Timedelta est utilisé pour . xxx


0 commentaires

0
votes
class Time:
    def __init__(self,h,m):
        self.h = h
        self.m = m
        q, r = divmod(m, 60)
        self.h += q
        self.m = r

    def __add__(self, o): 
        return Time(self.h+o.h,self.m+o.m)

    def __str__(self):
        return "{0}:{1}".format(self.h,self.m)



t1 = Time(1,60)
t2 = Time(1,60)
print (t1+t2)

0 commentaires