Из документации :
класс datetime.date (год, месяц, день)
Это означает, что вам нужно поместить аргументы в правильное положение, независимо от того, как вы хотите напечатать его позже.
Это должно работать:
def acc_expiration():
year = int(input('YEAR: '))
month = int(input('MONTH: '))
day = int(input('DAY: '))
exp_date = datetime.date(year, month, day)
return exp_date
Теперь напечатаем его в формате дд / мм / гггг:
d = acc_expiration()
f = d.strftime('%d/%m/%Y')
print(f) # prints it formatted dd/mm/yyyy
Ваша ошибка в значении заключается в том, что вы задаете целое число года (целое число больше 31) в качестве аргумента дня, а для года вы даете целое число дня.