TEMA

talvez conversão seg > min não está correta. help?

Enni10 preguntado 2 years ago

N = int(input()) minutos = N // 60 segundos = N - (minutos * 60) if minutos > 60: horas = minutos // 60 print(f'{horas}:{minutos}:{segundos}') else: horas = 0 print(f'{horas}:{minutos}:{segundos}')

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.

  • nrmiura respondido 2 years ago

    Quando o tempo é maior que 1 hora, os minutos no seu código incluem as horas. Por exemplo 1:20:0 fica 1:80:0. Pra arrumar isso, calcule os minutos com o resto das horas usando o operador "%".

    A operação 5 % 3 retorna 2, o resto da divisão 5/3

    Você precisa fazer assim:

    minutos = (N % 3600) //60

    Dessa forma estará calculando os minutos com o que sobrou das horas. Os segundos podem ser calculados de forma similar:

    seg = N % 3600 % 60

    Dessa forma, o que não foi convertido em horas nem em minutos permanecerá em segundos Com isso, nem será necessário usar if-else