datas
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
print("Bém vindo! Para começar, digite uma data válida no formato (dd/mm/aaaa):")
Método que vai validar o dia com dois dígitos e considerar somente números e retornar o valor em uma str
def valida_dia(self, digita):
condicao = False
while (not condicao):
digite = input("Dia?")
if (len(digite) == 2) and (digite.isdigit() == True):
digite = int(digite)
else:
print("Você digitou um valor inválido, digite apenas números")
if (digite in range(1, 32)):
digite = str(digite)
self.dia = []
self.dia.extend(digite)
condicao = True
else:
print("O dia digitado não pode ser maior que dois digitos e precisa ser um número")
if (digite == '1') or (digite == '2') or (digite == '3') or (digite == '4') or (digite == '5') or (digite == '6') or (digite == '7') or (digite == '8') or (digite == '9'):
self.dia.insert(0, '0')
self.dia = "".join(self.dia)
else:
self.dia = "".join(self.dia)
Método que vai validar o mês em dois digitos e somente aceita números e retorna uma str
def valida_mes(self, digita):
condicao = False
while (not condicao):
digite = input("Mês?")
if (len(digite) == 2) and (digite.isdigit() == True):
digite = int(digite)
else:
print("Você digitou um valor inválido, digite apenas números")
if (digite in range(1, 13)):
digite = str(digite)
self.mes = []
self.mes.extend(digite)
condicao = True
else:
print("O mês digitado não pode ser maior que dois digitos e precisa ser um número")
if (digite == '1') or (digite == '2') or (digite == '3') or (digite == '4') or (digite == '5') or (digite == '6') or (digite == '7') or (digite == '8') or (digite == '9'):
self.mes.insert(0, '0')
self.mes = "".join(self.mes)
else:
self.mes = "".join(self.mes)
Método que vai validar o ano em quatro digitos e precisa ser um número e retorna uma str
def valida_ano(self, digita):
condicao = False
while (not condicao):
digite = input("Ano?")
if (len(digite) == 4) and (digite.isdigit() == True):
digite = int(digite)
else:
print("Você digitou um valor inválido, digite apenas números")
if (digite in range(1, 9999)):
digite = str(digite)
self.ano = []
self.ano.extend(digite)
self.ano = "".join(self.ano)
condicao = True
else:
print("O ano digitado não pode ser maior que quatro digitos e precisa ser um número")
def imprime_data(self):
print("A data é: {}/{}/{}".format(self.dia, self.mes, self.ano))
Testando datas
from datas import Data
data1 = Data("12","09","2022")
print(data1)
data1.imprime_data()
data1.valida_dia(None)
data1.valida_mes(None)
data1.valida_ano(None)
data1.imprime_data()
#
Bém vindo! Para começar, digite uma data válida no formato (dd/mm/aaaa):
<datas.Data object at 0x00000153FBAC7D60>
A data é: 12/09/2022
Dia?15
Mês?07
Ano?2002
A data é: 15/07/2002