Ir ao conteúdo
  • Cadastre-se

Python Melhorar esse codigo em python


Posts recomendados

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))

 

Link para o comentário
Compartilhar em outros sites

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: ?')
Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!