Не получается сделать списки в списке при выводе
Напишите функцию register(surname, name, date, middle_name, registry).
Эта функция принимает на вход фамилию, имя, дату рождения (в виде кортежа из трёх чисел — день, месяц, год), отчество и список, в который необходимо сохранить полученные аргументы в виде кортежа в следующем порядке:
фамилия, имя, отчество, день, месяц, год рождения
Функция возвращает список, в который добавила запись.
# [('Petrova', 'Maria', 'Ivanovna', 13, 3, 2003), ('Ivanov', 'Sergej', None, 24, 9, 1995), ('Smith', 'John', None, 13, 2, 2003)]
def register(surname, name, date, middle_name = None, registry = None):
r = list()
if registry == None: return list(surname, name, middle_name, *date)
elif middle_name == None: return registry + list(surname, name, *date)
return list(surname, name, middle_name, *date)
reg = register('Petrova', 'Maria', (13, 3, 2003), 'Ivanovna')
reg = register('Ivanov', 'Sergej', (24, 9, 1995), registry=reg)
reg = register('Smith', 'John', (13, 2, 2003), registry=reg)
print(reg)
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Вроде в условии сказано, что "в функцию передаётся список, в который необходимо сохранить полученные аргументы в виде кортежа". Так что просто дополняйте его очередным кортежом.
def register(surname, name, date, middle_name = None, registry = []):
registry.append((surname, name, middle_name, *date))
reg = []
register('Petrova', 'Maria', (13, 3, 2003), 'Ivanovna', registry=reg)
register('Ivanov', 'Sergej', (24, 9, 1995), registry=reg)
register('Smith', 'John', (13, 2, 2003), registry=reg)
print(reg)