Привет!
Давай разберемся с задачей.
На фото представлен фрагмент кода, и нам нужно найти ошибки в этом коде. Затем мы должны выбрать подходящие ответы из списка.
Функция
duplicate(word):def duplicate(word): return word * 2Эта функция корректна, она принимает строку и возвращает её дубликат (слово умножается на 2).
Функция
first_name(name):def first_name(name): return list(name)Функция принимает строку и преобразует её в список символов. Она также корректна.
Функция
append_first_name(last_name):def append_first_name(last_name): name = first_name(last_name) name.insert(0, "Isaac") return nameЗдесь функция принимает фамилию, преобразует её в список символов, добавляет имя "Isaac" в начало списка и возвращает получившийся список. Эта функция работает.
Команда
print():print(list(map(duplicate, append_title(append_first_name(first_name("Newton"))))).split())Теперь давай посмотрим на эту команду:
append_first_name(first_name("Newton"))— корректно, вернет список["Isaac", "N", "e", "w", "t", "o", "n"].append_title(...)— вот здесь проблема: у нас нет определения функцииappend_title.
Подытожим:
- Нельзя использовать несуществующую функцию -
append_title(ошибка в коде). - Есть еще одна ошибке - неправильное использование метода
split().split()применяется к строке, а не к списку.
Из списка правильными будут следующие утверждения:
- нельзя использовать функцию, которой нет
- нельзя делать из функции аргумент другой функции
Теперь подробнее:
append_titleнужно определить или убрать из кода.- Метод
split()сохраняется для строк, функциюmap()нужно предать результатом функцииduplicate.
Если устраним ошибки, то код будет выглядеть примерно так:
def duplicate(word):
return word * 2
def first_name(name):
return list(name)
def append_first_name(last_name):
name = first_name(last_name)
name.insert(0, "Isaac")
return name
# print(list(map(duplicate, append_title(append_first_name(first_name("Newton"))))).split())
print(list(map(duplicate, append_first_name(first_name("Newton")))))
Тогда вывод будет корректным.
Надеюсь, что это помогло! Удачи с задачей!