Ich lese gerade Python Crash Course von Eric Matthes und ich habe eine unglaublich schwierige Zeit, Kapitel 8 zu verstehen, die sich nur um Funktionen handelt. Ich stehe bei Übung 8-10 fest, die mich auffordert, eine neue Funktion zu verwenden, um eine Liste zu ändern, die in der vorherigen Übung verwendet wurde. HierVerwirrt über das Ändern von Listen mit zwei Funktionen in Python
ist die Übung:
8-9. Magicians: Make a list of magician's names. Pass the list to a function called show_magicians(), which prints the name of each magician in the list.
8-10. Great Magicians: Start with a copy of your program from exercise 8-9. Write a function make_great() that modifies the list of magicians by adding the phrase the great to each magician's name. Call show_magicians() to see that the list has actually been modified.
Hier ist mein Code für 8-9:
def show_magicians(names):
"""Print each magician name"""
for name in names:
msg = name.title()
print(msg)
magician_names = ['sonic', 'tails', 'knuckles']
show_magicians(magician_names)
ich ein sehr ähnliches Thema auf dieser Website gesehen habe und so habe ich versucht, Verwenden Sie den Code in der ersten Antwort auf dieser Seite, um mir zu helfen: Python crash course 8-10
Allerdings scheint mein Code weiterhin als der Compiler p falsch zu sein Nach jedem Namen "3 Mal".
Hier ist der aktuelle Code, den ich für 8-10 verwendet
def show_magicians(names):
"""Print each magician name"""
for name in names:
msg = name.title()
print(msg)
magician_names = ['sonic', 'tails', 'knuckles']
show_magicians(magician_names)
def make_great(list_magicians):
"""Add 'Great' to each name."""
for magician_name in magician_names:
for i in range(len(list_magicians)):
list_magicians[i] += " the great!"
make_great(magician_names)
show_magicians(magician_names)
Ich weiß nicht, warum, aber es scheint nur, dass ich habe aus diesem ganzen Kapitel von Funktionen zu kämpfen durch. Hat jemand zufällig irgendwelche empfohlenen Tutorials, um einen Blick darauf zu werfen, um mir zu helfen, Funktionen besser zu verstehen? Vielen Dank für Ihre Zeit.
Sorry, aber das Problem ist die Doppel-Loop: für magician_name in magician_names: for i in range (len (list_magicians)): Sie nur die zweite – user2539336
benötigen In ' '' make_great() '' 'Sie haben geschachtelt für Schleifen - wie oft läuft die * innere * Schleife? – wwii
Wie Sie aus meiner Antwort in der verknüpften Frage sehen können, wurde nur eine Schleife verwendet. Du benutzt zwei. – Li357