@@ -0,0 +1,1115 @@
+from datetime import datetime%0Aclass IntervaloDeTempo():%0A    def __init__(self,inicio=None, fim=None):%0A        try:%0A            self.inicio = datetime.strptime(inicio,'%25Y-%25m-%25d %25H:%25M')%0A        except:%0A            if ( type(inicio) is datetime):%0A                self.inicio = inicio%0A            else:%0A                print(type(inicio))%0A                raise ValueError(%22Inicio do intervalo de tempo inv%C3%A1lido%22)%0A%0A        try:%0A            self.fim = datetime.strptime(fim,'%25Y-%25m-%25d %25H:%25M')%0A        except:%0A            if ( type(fim) is datetime):%0A                self.fim = fim%0A            else:%0A                print( type(fim))%0A                raise ValueError(%22Fim do intervalo de tempo inv%C3%A1lido%22)%0A%0A        if (self.inicio %3E= self.fim):%0A            print(inicio)%0A            print(fim)%0A            raise ValueError(%22Fim antes do In%C3%ADcio%22)%0A%0A    def intercede(self,outro):%0A        if (self.inicio %3C= outro.inicio):%0A            return bool(%0A                (outro.inicio %3C self.fim and self.fim %3C= outro.fim) or%0A                (outro.fim %3C= self.fim)%0A            )%0A        else:%0A            return outro.intercede(self)

Implementa a classe IntervaloDeTempo conforme descrita no diagrama de classes