Python Help: Exercise School Year

Asked

Viewed 781 times

0

Hello,

I am in need of help for 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 must also request the current date (year, month and day).

• The school year begins on September 15. Children 6 years old until that day enter the 1st year. Those with 7, are in the 2nd, etc.

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

• Example of output:

What’s your name? Joseph

What year were you born? 2001

What month were you born in? 2

What day were you born? 23

What year is it? 2009

What month is it? 4

What day is it? 9

José is 8 years old and in the 2nd year.

I’m having trouble calculating.

This is the code: code

  • 1

    What have you done so far ? Include the code you have to be easy to help in your real doubt.

3 answers

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

0


Thank you in advance to all those who helped me. Here I leave 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))

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 birth year AN, and year we are AA(current year), the calculation for this will be basic and should be stored in another variable, id(age).

id = AN - AA

To determine which year the individual will be in school you can use switch’s, multiple if’s, or also (what I recommend) go through a cycle while, for, or which repeat cycle you find best.

So I went through all the years involved in the matter. I won’t post the code here because it’s an activity you should do, and if I do it for you I’ll be mocking your teacher’s work ;)

Good luck, the paths are paved.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.