Buscar

Desenvolva uma função em Python que faça a conversão de uma data. A função deve receber do usuário uma data no formato DD/MM/AAAA (devem ser digita...

Desenvolva uma função em Python que faça a conversão de uma data. A função deve receber do usuário uma data no formato DD/MM/AAAA (devem ser digitados apenas os números) e devolver uma string com a data digitada (com as barras) e outra string no formato 'DD de mêsPorExtenso de AAAA'. Todas as datas devem ser validadas e uma string 'Data inválida' deve ser exibida caso a data seja inválida.

A função solicita ao usuário que digite a data;
A função tenta converter a entrada do usuário para um objeto datetime;
A função formata a data de acordo com as especificações;
Se a entrada do usuário não puder ser convertida para uma data válida, a função retorna 'Data inválida'.

💡 2 Respostas

User badge image

Ed Verified user icon

Segue abaixo uma possível solução em Python para a conversão de uma data: ```python from datetime import datetime def converter_data(): data = input("Digite uma data no formato DD/MM/AAAA: ") try: data_convertida = datetime.strptime(data, '%d/%m/%Y') data_formatada = data_convertida.strftime('%d de %B de %Y') return f"{data} - {data_formatada}" except ValueError: return "Data inválida" print(converter_data()) ``` Explicação do código: - A função `converter_data()` solicita ao usuário que digite uma data no formato DD/MM/AAAA e armazena o valor digitado na variável `data`. - Em seguida, a função tenta converter a entrada do usuário para um objeto `datetime` utilizando o método `strptime()`. Caso a conversão seja bem sucedida, a data convertida é armazenada na variável `data_convertida`. - A função formata a data de acordo com as especificações utilizando o método `strftime()` e armazena o resultado na variável `data_formatada`. - Por fim, a função retorna uma string contendo a data digitada pelo usuário (com as barras) e a data formatada no formato "DD de mêsPorExtenso de AAAA". Caso a entrada do usuário não possa ser convertida para uma data válida, a função retorna a string "Data inválida".

0
Dislike0
User badge image

Marcelo Ucha

Esta é a estrutura em python:

def converter_data(data):
  """Converte uma data no formato DD/MM/AAAA para um formato mais legível.

  Args:
    data: A data a ser convertida, no formato DD/MM/AAAA.

  Returns:
    A data convertida, no formato 'DD de mêsPorExtenso de AAAA'.

  Raises:
    ValueError: Se a data for inválida.
  """

  # Valida a data

  try:
    dia, mes, ano = data.split("/")
    dia = int(dia)
    mes = int(mes)
    ano = int(ano)
    if mes < 1 or mes > 12:
      raise ValueError("Mês inválido.")
    if dia < 1 or dia > 31:
      raise ValueError("Dia inválido.")
    if ano < 1 or ano > 9999:
      raise ValueError("Ano inválido.")
  except ValueError:
    return "Data inválida"

  # Converte a data para o formato desejado

  data_formatada = f"{dia} de {meses_extensos[mes]} de {ano}"
  return data, data_formatada


meses_extensos = {
    1: "Janeiro",
    2: "Fevereiro",
    3: "Março",
    4: "Abril",
    5: "Maio",
    6: "Junho",
    7: "Julho",
    8: "Agosto",
    9: "Setembro",
    10: "Outubro",
    11: "Novembro",
    12: "Dezembro",
}


0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais