Jak za pomocą funkcji zmienić zawartość bieżącej listy?

0

Witam mam zadanie z książki które polega na tym, że funkcją mam zmienić zawartość istniejącej listy, to znaczy jest jedna funkcja która wyświetla Hej Wojtek, Hej Kasia, czyli jest jakaś lista,
i mam drugą funkcją zrobić tak, żeby przed imieniem z listy było Hej Wspaniały Wojtek, żeby zamienić funkcją element listy na nowy, żeby nie było już ['Wojtek'], tylko ['Wspaniały Wojtek'], wiem, że jest metoda .pop() którą mogę zastosować pętlą while, ale ona tylko usuwa elementy z listy bieżącej ale ich nie zmienia w żaden sposób.

Tak wygląda ten kod, ta druga funkcja jest źle napisana przeze mnie.

  1. 8.10. Doskonali magicy. Pracę rozpocznij od kopii programu z ćwiczenia 8.9.
  2. Następnie utwórz funkcję make_great(), której zadaniem będzie
  3. zmodyfikowanie listy magików przez dodanie słowa Doskonały na początku
  4. imienia każdego z nich. Wywołaj funkcję show_magicians() i upewnij się, że
  5. lista faktycznie została zmodyfikowana.
def magicy(imiona):
  for imie in imiona:
     wiadomosc = 'Witaj ' + imie + '.'
     print(wiadomosc)

def doskonali_magicy(lista_imion):
  while lista_imion:
   zmienna1 = lista_imion.pop()
   nowa_lista_imion.append(zmienna1)
   print(nowa_lista_imion)

lista_imion = ['Wojtek', 'Karol', 'Radek', 'Marcin']
nowa_lista_imion = []
magicy(lista_imion) 
doskonali_magicy(nowa_lista_imion)
3

@dedek2 to kto ma z tej książki się nauczyć ty czy my?

0

hahahah xD Po prostu nie było tam wytłumaczone to, jak zmienić listę w funkcji i się pogubiłem.

1
dedek2 napisał(a):

hahahah xD Po prostu nie było tam wytłumaczone to, jak zmienić listę w funkcji i się pogubiłem.

Doprawdy? Wtedy spal tą książkę i weź jakąś normalną.

0

Z tym będzie problem, bo to ebook :D

50
doskonali_magicy = [f"witaj doskonaly {imie}" for imie in lista_imion]

Poczytaj o list comprehension.

0

Tak zrobiłem, tylko to nie modyfikuje w żaden sposób listy, tylko dodaje stringa.

def magicy(imiona):
****for imie in imiona:
      ****wiadomosc = 'Witaj ' + imie + '.'
      ****print(wiadomosc)

def doskonali_magicy(lista_imion):
****for imie in lista_imion:
      ****print('Witaj Doskonały', imie)
     

        
lista_imion = ['Wojtek', 'Karol', 'Radek', 'Marcin']
magicy(lista_imion) 
doskonali_magicy(lista_imion)
0

Już mam chyba dobrze, dzięki Jedi:

nowa_lista.append('Doskonały ' + imie)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.