Quero saber maneiras de reduzir, aprimorar ou deixar mais efetivo essa solução da questão 6 da aula de dados estruturados e se está correta.
data = input('Digite uma data no formato dd/mm/aaaa: ')
dia, mes, ano = data.split('/')
dia = int(dia)
mes = int(mes)
ano = int(ano)
if mes < 0 or dia < 0 or mes < 0 or ano < 0:
print('Data inválida!')
elif mes > 12:
print('Data inválida!')
elif ano % 4 == 0 and (ano % 100 != 0 or ano % 400 == 0):
if mes == 2:
if dia >= 30:
print('Data inválida!')
elif 0 < dia < 30:
print('Data válida!')
else:
print('Data inválida!')
elif mes == 1 or mes == 3 or mes == 5 or mes == 7 or mes == 8 or mes == 10 or mes == 12:
if dia >= 32:
print('Data inválida!')
elif 0 < dia < 32:
print('Data válida!')
else:
print('Data inválida!')
else:
if dia >= 31:
print('Data inválida!')
elif 0 < dia < 31:
print('Data válida!')
else:
print('Data inválida!')
elif mes == 2:
if dia >= 29:
print('Data inválida!')
elif 0 < dia < 29:
print('Data válida!')
else:
print('Data inválida!')
elif mes == 4 or mes == 6 or mes == 9 or mes == 11:
if dia >= 31:
print('Data inválida!')
elif 0 < dia < 31:
print('Data válida!')
else:
if dia >= 32:
print('Data inválida!')
elif 0 < dia < 32:
print('Data válida!')
else:
print('Data inválida!')
print(data)