Исключение userinput дата и время - PullRequest
0 голосов
/ 25 апреля 2020

Как вызвать исключение для этого пользовательского формата ввода?

data_base = datetime.datetime.strptime(input("Informe a data base (dd/mm/aaaa): "), "%d/%m/%Y")
data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y")))
print("Data base: " + data_base.strftime("%d/%m/%Y"))

Я пробовал это, но продолжаю получать сообщение об исключении:

data_base = datetime.datetime.strptime(input("Informe a data base (dd/mm/aaaa): "), "%d/%m/%Y")
try:
    data_base = datetime.datetime.strptime(str(data_base), "%d/%m/%Y")
except ValueError:
    print("Incorrect format")
data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y")))
print("Data base: " + data_base.strftime("%d/%m/%Y"))

1 Ответ

1 голос
/ 25 апреля 2020

Я думаю, что вы пытаетесь сделать что-то вроде этого:

import datetime

data_base = input("Informe a data base (dd/mm/aaaa): ")
try:
    data_base = datetime.datetime.strptime(str(data_base), "%d/%m/%Y")
except ValueError:
    print("Incorrect format")
else:
    data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y")))
    print("Data base: " + data_base.strftime("%d/%m/%Y"))

Я думаю, что вас удерживает то, что вы оставили вызов datetime.datetime.strptime на свой вызов input, которого не было внутри вашего try блока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...