Я преподаю себе Python из книги, и у меня возникают проблемы с этим упражнением на две части. Я вчера опубликовал об этом, думая, что у меня была первая часть, но кто-то указал мне, что это неправильно, поэтому я переработал ее, и теперь я думаю, что у меня есть первая часть, но у меня все еще есть проблемы со второй частью.Передача списка функции, подлежащей изменению
Первая часть упражнения:
Составьте список имен мага. Передайте список функции, которая называется
show_magicians()
, которая печатает имя каждого волшебника в списке.
Мой код для первой части упражнения:
def show_magicians(names):
for name in names:
print(name)
magicians_names = ['Marv', 'Wowzo', 'Trickster', 'Didlo']
show_magicians(magicians_names)
Выход:
Marv
Wowzo
Trickster
Didlo
Вторая часть упражнения:
Начните с копии вашей программы из упражнения 8-9. Напишите функцию под названием
make_great()
, которая изменяет список магов, добавив фразу Великое к имени каждого мага. Вызовитеshow_magicians()
, чтобы увидеть, что список на самом деле был изменен.
Мой код для второй части упражнения:
def show_magicians(names):
for name in names:
print(name)
def make_great():
magicians_names = ['Marv', 'Wowzo', 'Trickster', 'Didlo']
show_magicians(magicians_names)
Мой вопрос: Для начала мне нужно знать, если я сделал первую часть правильно. Я думаю, что сделал, но мог ошибаться. Что касается второй части, я пробовал несколько вещей для функции make_great, но я действительно в недоумении относительно того, что мне нужно сделать, чтобы заставить ее изменить список. Я думаю, что это имеет какое-то отношение к циклу while, но я действительно не уверен. Любая помощь будет принята с благодарностью
Ваша первая функция делает то, что должно. 'make_great()' будет требовать прохождения каждого индекса списка и изменения списка в этом индексе. Подсказка: 'range()' является полезной функцией. :) – zondo
Не обязательно использовать цикл while. Вы можете использовать цикл for и функцию «range», упомянутую выше. Я также предлагаю заглянуть в функцию 'len', чтобы вы могли получить размер списка программно. –
Вы даже можете использовать понимание списка с помощью 'magicians_names' в качестве результирующего списка. – Jan