Ir ao conteúdo

Posts recomendados

Postado

Acabei de terminar esse código.

O código é um ponto eletrônico recebe o horário de chegada,intervalo e saída

Mas estou achando ele muito grande

Acho que faltou uns métodos pra ficar mais enxuto

segue o código

 

for i in range(2):
 lista = input("Informe a hora de entrada : ").split(':')
 hE = int(lista[0])
 mE= int(lista[1])

 hS1= hE * 3600
 mS1 = mE * 60
 resul1 = hS1 + mS1

 finalh1= resul1/3600

 finalm1 = (mS1 / 60)%60
#===============================================

 lista = input("Informe a hora de intervalo : ").split(':')
 hI = int(lista[0])
 mI= int(lista[1])

 hS2= hI * 3600
 mS2 = mI * 60
 resul2 = hS2 + mS2

 finalh2= resul2/3600

 finalm2 = (mS2 / 60)%60

 y=finalm2 - finalm1
 x= finalh2 - finalh1
 

 #=============================================
 lista = input("Informe a volta do intervalo: ").split(':')
 hVi = int(lista[0])
 mVi= int(lista[1])

 hS3 = hVi * 3600
 mS3 = mVi * 60
 resul3 = hS3 + mS3

 finalh3= resul3/3600

 finalm3 = (mS3 / 60)%60
#===============================================
 lista = input("Informe a hora de saida : ").split(':')
 hS = int(lista[0])
 mS= int(lista[1])

 hS4= hS * 3600
 mS4 = mS * 60
 resul4 = hS4 + mS4

 finalh4= resul4/3600

 finalm4 = (mS4 / 60)%60

 w=finalm4 - finalm3
 z= finalh4 - finalh3



 totalH= x + z
 totalM= y + w

 h= totalH * 3600
 m = totalM * 60
 resul = h + m

 final= resul/3600

 finalm = (m / 60)%60


 print('%i:%i'%(final,finalm))

 

Postado

Código melhorado

agora com funções e a possibilidade de imprimir o conteúdo calculado

def calcularS (x,y):
    hS = x * 3600
    mS = y * 60
    resul = hS + mS

    return resul

def segundosHm(x):
    sHoras = x / 3600
    sMinu = (x / 60) % 60
    return sHoras,sMinu







x = int(input('Bem vindo ao programa Digite 1 para começar: '))

print('')
nome = input('Digite o Nome: ')
print('')
data = input('Informe a Data : ')
print('')
funcao = input('Digite a Função: ')
print('')
mes = int(input('Digite quantos dias tem esse mês: '))
print('')
qH = int(input('Digite a Quantidade de Horas trabalhadas por dia: '))
print('')
#abertura da escrita do txt
documento = open('ponto.txt', 'a')
documento.write('Nome: %s''              ''Data: %s \n' % (nome, data))
documento.write('\n')
documento.write('Função %s\n' % data)



for x in range(mes):

    lista = input("Informe a hora de entrada : ").split(':')
    hE = int(lista[0])
    mE = int(lista[1])



    calcularS(hE, mE)


    # ===============================================
    lista = input("Informe a hora de intervalo : ").split(':')
    hI = int(lista[0])
    mI = int(lista[1])



    calcularS(hI, mI)


    subtra = calcularS(hI, mI) - calcularS(hE, mE)

    # ===============================================
    lista = input("Informe a volta do intervalo: ").split(':')
    hVi = int(lista[0])
    mVi = int(lista[1])




    calcularS(hVi, mVi)


    # ===============================================
    lista = input("Informe a hora de saida : ").split(':')
    hS = int(lista[0])
    mS = int(lista[1])



    calcularS(hS, mS)


    subtra2 = calcularS(hS, mS) - calcularS(hVi, mVi)



    documento.write('Entrada: %i:%i ' % (hE, mE))
    documento.write('Almoço: %i:%i ' % (hI, mI))
    documento.write('Almoço: %i:%i ' % (hVi, mVi))
    documento.write('Saida: %i:%i ' % (hS, mS))


    # Soma os Segundos e transforma em horas minutos
    soma = subtra + subtra2
    segundosHm(soma)
    mostrarSoma = segundosHm(soma)
    # ===============================================

    # Subtrai pela quantidade de horas do dia e transforma em horas minutos

    adcao = subtra + subtra2

    if adcao > qH * 3600:
        total = adcao - (qH * 3600)
    else:
        total = (qH * 3600) - adcao


    segundosHm(total)
    mostrar = segundosHm(total)

    if mostrarSoma[1] < 10:
        print('%i:0%i' % mostrarSoma)
    else:
        print('%i:%i' % mostrarSoma)

    if mostrarSoma[0] > qH:
        extra = mostrar
        print('Horas Extra: %i:%i' % extra)
        documento.write('Horas Extra:   %i:% Horas Faltas:  \n' % (extra))

    else:
        negativo = mostrar
        print('Horas Faltas: %i:%i' % negativo)
        documento.write('Horas Extra:   Horas Faltas: %i:%i\n ' % (negativo))


documento.write('                                                     \n')
documento.write('                   ____________________________________________\n')
documento.write('                                           %s'%nome)
documento.closed


input('sair: ?')

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!