from datetime import date
hoje = date.today().year
ano = int(input('ano de nascimento: '))
if ano > hoje:
print('data inválida (está no futuro)')
else:
idade = hoje - ano
# aqui eu tenho certeza que a idade é positiva, então não preciso testar
if idade <= 9:
cl = 'MIRIM'
elif idade <= 14:
# se não entrou no if acima, é porque com certeza é maior que 9, então só preciso testar o limite superior
cl = 'INFANTIL'
elif idade <= 19:
# se não entrou em nenhum if/elif acima, é porque com certeza é maior que 14, então só preciso testar o limite superior
cl = 'JÚNIOR'
elif idade <= 25:
# se não entrou em nenhum if/elif acima, é porque com certeza é maior que 19, então só preciso testar o limite superior
cl = 'SÊNIOR'
else:
# se não entrou em nenhum if/elif, é porque com certeza é maior que 25, então não preciso testar aqui
cl = 'MASTER'
print(f'idade: {idade}\nclassificação: {cl}')
ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZQoKaG9qZSA9IGRhdGUudG9kYXkoKS55ZWFyCmFubyA9IGludChpbnB1dCgnYW5vIGRlIG5hc2NpbWVudG86ICcpKQppZiBhbm8gPiBob2plOgogICAgcHJpbnQoJ2RhdGEgaW52w6FsaWRhIChlc3TDoSBubyBmdXR1cm8pJykKZWxzZToKICAgIGlkYWRlID0gaG9qZSAtIGFubwogICAgIyBhcXVpIGV1IHRlbmhvIGNlcnRlemEgcXVlIGEgaWRhZGUgw6kgcG9zaXRpdmEsIGVudMOjbyBuw6NvIHByZWNpc28gdGVzdGFyCiAgICBpZiBpZGFkZSA8PSA5OgogICAgICAgIGNsID0gJ01JUklNJwogICAgZWxpZiBpZGFkZSA8PSAxNDoKICAgICAgICAjIHNlIG7Do28gZW50cm91IG5vIGlmIGFjaW1hLCDDqSBwb3JxdWUgY29tIGNlcnRlemEgw6kgbWFpb3IgcXVlIDksIGVudMOjbyBzw7MgcHJlY2lzbyB0ZXN0YXIgbyBsaW1pdGUgc3VwZXJpb3IKICAgICAgICBjbCA9ICdJTkZBTlRJTCcKICAgIGVsaWYgaWRhZGUgPD0gMTk6CiAgICAgICAgIyBzZSBuw6NvIGVudHJvdSBlbSBuZW5odW0gaWYvZWxpZiBhY2ltYSwgw6kgcG9ycXVlIGNvbSBjZXJ0ZXphIMOpIG1haW9yIHF1ZSAxNCwgZW50w6NvIHPDsyBwcmVjaXNvIHRlc3RhciBvIGxpbWl0ZSBzdXBlcmlvcgogICAgICAgIGNsID0gJ0rDmk5JT1InCiAgICBlbGlmIGlkYWRlIDw9IDI1OgogICAgICAgICMgc2UgbsOjbyBlbnRyb3UgZW0gbmVuaHVtIGlmL2VsaWYgYWNpbWEsIMOpIHBvcnF1ZSBjb20gY2VydGV6YSDDqSBtYWlvciBxdWUgMTksIGVudMOjbyBzw7MgcHJlY2lzbyB0ZXN0YXIgbyBsaW1pdGUgc3VwZXJpb3IKICAgICAgICBjbCA9ICdTw4pOSU9SJwogICAgZWxzZToKICAgICAgICAjIHNlIG7Do28gZW50cm91IGVtIG5lbmh1bSBpZi9lbGlmLCDDqSBwb3JxdWUgY29tIGNlcnRlemEgw6kgbWFpb3IgcXVlIDI1LCBlbnTDo28gbsOjbyBwcmVjaXNvIHRlc3RhciBhcXVpCiAgICAgICAgY2wgPSAnTUFTVEVSJwogICAgcHJpbnQoZidpZGFkZToge2lkYWRlfVxuY2xhc3NpZmljYcOnw6NvOiB7Y2x9Jyk=