Calculadora Previdencia

 

from datetime import datetime, timedelta

# Obtém os dados de entrada
sexo = input("Informe o sexo do professor (M/F): ")
data_nascimento = input("Informe a data de nascimento do professor (dd/mm/aaaa): ")
data_ingresso = input("Informe a data de ingresso no serviço público (dd/mm/aaaa): ")

# Converte as datas para o formato datetime
data_nascimento = datetime.strptime(data_nascimento, '%d/%m/%Y')
data_ingresso = datetime.strptime(data_ingresso, '%d/%m/%Y')

# Calcula a idade do professor
hoje = datetime.today()
idade = hoje.year - data_nascimento.year - ((hoje.month, hoje.day) < (data_nascimento.month, data_nascimento.day))

# Calcula o tempo de serviço do professor
tempo_servico = hoje.year - data_ingresso.year - ((hoje.month, hoje.day) < (data_ingresso.month, data_ingresso.day))

# Verifica se o professor tem direito a aposentadoria por idade
tem_direito_por_idade = (sexo == "M" and idade >= 65) or (sexo == "F" and idade >= 62)

# Verifica se o professor tem direito a aposentadoria por tempo de serviço
tem_direito_por_tempo_servico = tempo_servico >= 30

# Verifica se o professor tem direito a aposentadoria por idade e tempo de serviço
tem_direito_por_idade_e_tempo_servico = tem_direito_por_idade and tem_direito_por_tempo_servico

# Cálculo da data futura de aposentadoria
if tem_direito_por_idade_e_tempo_servico:
    data_aposentadoria = hoje
elif tem_direito_por_idade:
    data_aposentadoria = data_nascimento + timedelta(days=(62 if sexo == 'F' else 65)*365)
elif tem_direito_por_tempo_servico:
    data_aposentadoria = data_ingresso + timedelta(days=30*365)
else:
    data_aposentadoria = data_nascimento + timedelta(days=(62 if sexo == 'F' else 65)*365)

# Exibe o resultado
if tem_direito_por_idade_e_tempo_servico:
    print("O professor tem direito a aposentadoria por idade e tempo de serviço.")
elif tem_direito_por_idade:
    print("O professor tem direito a aposentadoria por idade.")
elif tem_direito_por_tempo_servico:
    print("O professor tem direito a aposentadoria por tempo de serviço.")
else:
    print("O professor não tem direito a aposentadoria.")
    print("Data mais próxima de aposentadoria: {}".format(data_aposentadoria.strftime('%d/%m/%Y')))