EP02

EP02

por Lucas Hideki -
Número de respostas: 8

Olar,

O corretor do EP02 de vocês também está indicando erros do tipo

dica: horario criado: 00:10:10 
dica: horario esperado: 00:10:10

??

O que acontece?

Anexo Captura de Tela 2017-08-15 às 17.59.16.png
Em resposta à Lucas Hideki

Re: EP02

por Luiz Felype Azevedo Pascoal -

Ainda não vi esse tipo de 'erro', mas parece que ele achou problemas no seu código quando é testado com esses horários dados. Tenta testar o código com esses horários e vê se ele funciona como deveria sorriso

Em resposta à Luiz Felype Azevedo Pascoal

Re: EP02

por Lucas Hideki -

Eu testei os exemplos que estão dando erro, mas ainda não está indo. Tentarei mexer no __str__..

Em resposta à Lucas Hideki

Re: EP02

por José Coelho de Pina -

Oi Lucas,

Eu testei os exemplos que estão dando erro, mas ainda não está indo.

Complementando a sugestão do Luiz, tente, usando o Idle o Spyder, testar o seu programa com os testes no enunciado (= testes no esqueleto).

Em resposta à Lucas Hideki

Re: EP02

por Lucas Santos -

Oi Lucas, tudo bem?

Em casos como esse, recomendamos que você vá algum dia a monitoria para que possamos olhar seu código e juntos tentarmos entender porque não funciona.

Aqui pelo PACA proibimos a publicação de código e isso torna mais difícil ajudá-lo.

Att,
Lucas

Em resposta à Lucas Hideki

Re: EP02

por Acacio Torres de Andrade -

Acontece o mesmo comigo, você conseguiu resolver?

 

Testando os exemplos no enunciado... (vale 1 ponto(s)) 
objeto criado por Horario(24, 10, 10) está errado 
dica: horario criado: 00:10:10 
dica: horario esperado: 00:10:10 
objeto criado por Horario(25, 10, 15) está errado 
dica: horario criado: 01:10:15 
dica: horario esperado: 01:10:15 
objeto criado por Horario(0, 0, 3600) está errado 
dica: horario criado: 01:00:00 
dica: horario esperado: 01:00:00 
erros encontrados: -0.9

Testando os exemplos no enunciado... (vale 0.5 ponto(s)) 
valor retornada por Horario.__add__(Horario(8, 0, 0),Horario(0, 100)) está errado 
dica: valor retornada: 09:40:00 
dica: valor esperado: 09:40:00 
valor retornada por Horario.__add__(Horario(23, 59, 59),Horario(0, 0, 1)) está errado 
dica: valor retornada: 00:00:00 
dica: valor esperado: 00:00:00 
erros encontrados: -0.5 
 

Testando os exemplos no enunciado... (vale 0.5 ponto(s)) 
valor retornada por Horario.__sub__(Horario(9, 40),Horario(0, 0, 40)) está errado 
dica: valor retornada: 09:39:20 
dica: valor esperado: 09:39:20 
erros encontrados: -0.3 

Em resposta à Acacio Torres de Andrade

Re: EP02

por José Coelho de Pina -

Ois Acacio e Lucas,

Algum de vocês conseguiu encontrar o problema?


Se algum de vocês conseguiu, por favor, coloque aqui qual foi.

Meio que repetindo o que o Luiz Felype já escreveu.
Quando algo está dando errado:

  • releiam cuidadosamente as especificações do programa ou função ou métodos ou classes ou ... que está sendo feita;
  • testem cada função ou métodos ou ..., no seu computador, no Python Shell do Idle ou do Spyder, pelo menos com os testes no enunciado (= esqueleto).

O Python Shell é uma ferramente de desenvolvimento muito útil.  

Em resposta à José Coelho de Pina

Re: EP02

por Acacio Torres de Andrade -

No meu caso o que acontecia era que eu estava deixando no estado os parâmetros recebidos, por exemplo (0, 0, 3600), e concertava somente na saída, no __str__, para 01:00:00. O que fiz para resolver foi mexer o estado no __init__, e deixar os parâmetros ja ajustados, (1, 0, 0), no caso.

Em resposta à Acacio Torres de Andrade

Re: EP02

por José Coelho de Pina -

Oi Acacio,

Entendi. Então os erros ocorriam nas partes marcadas a seguir.
Muito obrigado por compartilhar!

class Horario:
    '''Classe utilizada para representar um horário.

    Um horário é representado por três números inteiros maiores ou iguais
    a zero. Assim, cada objeto dessa classe terá três atributos de estado:
* `h`: um número inteiro entre 0 e 23 que indica horas * `m`: um número inteiro entre 0 e 59 que indica minutos * `s`: um número inteiro entre 0 e 59 que indica segundos
Você deverá escrever os métodos sugeridos a seguir. ''' #------------------------------------------------------------------------------ def __init__(self, horas = 0, minutos = 0, segundos = 0): '''(Horario, int, int, int) -> None Chamado pelo construtor da classe. Recebe uma referência `self` ao objeto que está sendo construído/montado e inteiros não negativos `horas`, `minutos` e `segundos` que indicam um horário a ser representado. Exemplos: >>> inicio = Horario() # construtor chama __init__() >>> inicio.h 0 >>> inicio.m 0 >>> inicio.s 0 >>> t1 = Horario(9) >>> print(t1.h, t1.m, t1.s) 9 0 0 >>> t2 = Horario(9,40) >>> print(t2.h, t2.m, t2.s) 9 40 0 >>> t3 = Horario(9,40,48) >>> print(t3.h, t3.m, t3.s) 9 40 48 >>> t4 = Horario(24,10,10) >>> print(t4.h, t4.m, t4.s) 0 10 10 >>> t5 = Horario(25,10,15) >>> print(t5.h, t5.m, t5.s) 1 10 15 >>> t6 = Horario(0,0,3600) >>> print(t6.h, t6.m, t6.s) 1 0 0 >>> ''' print("Vixe! Ainda não fiz o método __init__()")