Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Dúvida] Dados Estruturados

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)
1 resposta

Dúvida Questão 7
Também quero compreender melhor essa.

multiplicacao = [1.2, 2.1, 3.3, 5.0, 7.8, 11.3, 16.6, 25.1, 37.8, 56.9]
amostra_atual = 0
amostra_passada = 0
percentual = []
print('CRESCIMENTO DA COLÔNIA\nDia 1 = 1.2')
for dia in range(1,len(multiplicacao)):
  print(f'Dia {dia+1}: {multiplicacao[dia]} de multiplicação')
  amostra_atual = multiplicacao[dia]
  amostra_passada = multiplicacao[dia-1]
  variacao = 100 * (amostra_atual - amostra_passada) / (amostra_passada)
  print(f'Percentual de crescimento: {variacao}%')
  percentual.append(variacao)
print(f'Percentuais de crescimento: {percentual}')