Olá para todos. Eu ainda estou no início de todo esse estudo e não sabia como montar o código, mas sabia as ideias que eu queria para fazê-lo rodar.
Então pensei em juntar 3 coisas:
- Chat GPT: Tentando montar um bom prompt para que ele me desse o "código bruto" que eu queria.
- Estudo: Com o pouco conhecimento que tenho fui refinando e consertando os erros no código fornecido, para que ficasse mais parecido com o que eu queria.
- Pesquisa: Pesquisei algumas coisas na internet e em minhas anotações dos cursos da Alura para relembrar alguns comandos.
Consegui sair com esse código a seguir: Por favor, fiquem à vontade para fazer qualquer tipo de comentário construtivo. Se quiserem posso postar os prompts e as respostas do chat gpt.
class Data:
def __init__(self, dia: int, mes: int, ano: int):
if dia > 28 and mes == 2:
raise ValueError("\n Fevereiro só tem 28 dias.")
elif dia > 30 and mes in [4, 6, 9, 11]:
raise ValueError("\n Os meses 4, 6, 9 e 11 só tem 30 dias.")
elif len(str(ano)) != 4:
raise ValueError("\n O ano deve ter 4 dígitos.")
elif (1 <= dia <= 31 and 1 <= mes <= 12 and len(str(ano)) == 4
and not (dia > 28 and mes == 2)
and not (dia > 30 and mes in [4, 6, 9, 11])):
self.dia = dia
self.mes = mes
self.ano = ano
else:
raise ValueError("\n O dia deve estar entre 1 e 31.\n O mês deve estar entre 1 e 12.")
def formatada(self):
print("{:02d}/{:02d}/{:04d}".format(self.dia, self.mes, self.ano))