Python Help: Exercise School year

0

Hello,

I need help with an exercise in Python which is as follows:

Exercise School Year

• Write a program that asks for the name and date (year, month, and day) of birth of a person.

• The program should also request the current date (year, month and day).

• The school year begins on September 15th. Children aged 6 up to this day enter the 1st year. The ones with 7, are in the 2nd, etc.

• Based on these dates, you should determine the age of the person and indicate the year of school.

• Example result:

What's your name? Joseph

Born in what year? 2001

What month was born? 2

Born on what day? 23

What year are we? 2009

What month are we? 4

On what day? 9

José is 8 years old and is in his second year.

I'm having trouble making the calculation.

Here is the code: code

    
asked by anonymous 12.04.2018 / 10:32

3 answers

0

Thank you in advance for all those who have helped me. Here is the code:

Code

Code:

import datetime

print('='*24)
print('Exercício 3: ano escolar')
print('='*24)

nome = input ("Como se chama? ")
ano = eval (input ("Nasceu em que ano? "))
mes = eval (input ("Nasceu em que mês? "))
dia = eval (input ("Nasceu em que dia? "))
ano_atual = eval (input ("Em que ano estamos? "))
mes_atual = eval (input ("Em que mês estamos? "))
dia_atual = eval (input ("Em que dia estamos? "))
dataNasc = datetime.date(ano, mes, dia)
dataAtual = datetime.date(ano_atual, mes_atual, dia_atual)



#Calculo da idade
idade=ano_atual-ano
if mes_atual < mes:
    idade=idade-1
elif (mes_atual == mes) and (dataAtual < dataNasc):
    idade=idade-1

#Calculo do Ano Letivo
idade_min=6
aletivo=1

if idade==idade_min:
    print ("O %s tem %d anos e está no %d ano." % (nome,idade,aletivo))
elif idade>=idade_min:
    if (mes_atual < 9 and dataNasc < 15):
        aletivo=(idade-idade_min)
        print ("O %s tem %d anos e está no %dº ano." % (nome,idade,aletivo))
    else:
        aletivo=(idade-idade_min)+1
        print ("O %s tem %d anos e está no %dº ano." % (nome,idade,aletivo))
else:
    print ("O %s tem %d anos e ainda não tem idade para andar na escola." % (nome,idade))
    
15.04.2018 / 18:48
0

Then, the calculation will be based on the date variables that the user will input. The year of the child will be the decrease between the variable year we are and year of birth. So let's call the birth year of AN, and the year we are in AA (current year), the calculation for this will be basic and should be stored in another variable, id (age).

id = AN - AA

To determine the year that the individual will be in school you can use switch's, multiple if's, or also (which I recommend) to go through a while loop, for, or which repeat cycle you think is best.

Going through all the years involved in the matter. I will not post the code here because it is an activity that you should do, and if I do it for you, I will be making fun of your teacher's work;)

Good luck, the paths are given.

    
12.04.2018 / 10:43
0
while True:
    #listas com as séries divida por níveis 
    fundamental_I = ['Primeira série', 'Segunda Série', 'Terceira Série', 'Quarta Série']
    fundamental_II = ['Quinta Série', 'Sexta Série', 'Sétima Série', 'Oitava Série']
    ensino_Medio = ['Primeira Série EM', 'Segunda Série EM', 'Terceira Série EM']

    #'ve' só facilita a escrita, ao invés de ficar escrevendo "você está na...", só printa a escrita de uma vez só.
    ve = '\nVocê está na: '
    print("Vou descobrir em qual série você está!\n ")
    seuNome = input("Qual é o seu nome? ")
    print("Certo!\n")
    anoAtual = 2018

    # o int limita o input do usuário à apenas números inteiros
    nasceu = int(input("Qual é o ano em que nasceu? "))
    dia = int(input("Em que dia? "))
    mes = int(input("Em que mês? (apenas números) "))

    # atribui o resultado do ano - data de nascimento
    idade = anoAtual - nasceu

    #fudamental I
    if idade == 7:
        print(ve)
        print([fundamental_I[0]])
    elif idade == 7+1:
        print(ve)
        print(fundamental_I[1])
    elif idade == 7+2:
        print(ve)
        print(fundamental_I[2])
    elif idade == 7+3:
        print(ve)
        print(fundamental_I[3])
    #ensino fundamental II
    if idade == 11:
        print(ve)
        print(fundamental_II[0])
    elif idade == 11+1:
        print(ve)
        print(fundamental_II[1])
    elif idade == 11+2:
        print(ve)
        print(fundamental_II[2])
    elif idade == 11+3:
        print(ve)
        print(fundamental_II[3])
    #ensino médio
    elif idade == 15:
        print(ve)
        print(ensino_Medio[0])
    elif idade == 15+1:
        print(ve)
        print(ensino_Medio[1])
    elif idade == 15+2:
        print(ve)
        print(ensino_Medio[2])
    elif idade >= 18:
        print("\nVocê concluiu o período escolar!!!")
    print('\n')
    print("%s nasceu no dia %d e no mês %d no ano: %d"% (seuNome, dia, mes, nasceu))
    print('\n')
    break
    
04.05.2018 / 19:08