• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy dobrze wykonałem to zadanie?

0 głosów
649 wizyt
pytanie zadane 5 grudnia 2022 w Python przez dedek2 Początkujący (370 p.)

Witam czy dobrze wykonałem poniższe zadanie?, trochę jest namieszane w kodzie ale chyba działa. 

# 8.11. Niezmienieni magicy. Pracę rozpocznij od kodu utworzonego w ćwiczeniu 8.10. 
# Wywołaj funkcję make_great() wraz z kopią listy imion magików.
# Ponieważ lista pierwotna pozostała nietknięta, wartością zwrotną funkcji
# powinna być nowa lista przechowywana w nowej zmiennej. Wywołaj funkcję
# show_magicians() wraz z każdą listą, aby pokazać istnienie pierwotnej listy jedynie 
# z imionami magików oraz nowej z dodanym słowem Doskonały przed
# każdym imieniem magika. 

def show_magicians(names):
    for name in names:
        # print('Witaj magiku: ', name)
        stara_l = lista_imion
        print(stara_l)
        return stara_l

def make_great(lista_imion):
    nowa_l = nowa_lista.append(lista_imion)
    for i in range(len(lista_imion)):
        lista_imion[i] =  "Doskonały " + lista_imion[i]  
    # print(lista_imion)
    return nowa_l
    

lista_imion = ['Wojtek', 'Grażyna', 'Alina', 'Karol']
nowa_lista = []
show_magicians(lista_imion)
make_great(lista_imion)
# show_magicians(lista_imion)
# show_magicians(nowa_lista)

print()

show_magicians(lista_imion)
show_magicians(nowa_lista)

 

1 odpowiedź

0 głosów
odpowiedź 5 grudnia 2022 przez VBService Ekspert (256,600 p.)
wybrane 6 grudnia 2022 przez dedek2
 
Najlepsza

show_magicians() ma tylko za zadanie pokazać zawartość listy przekazanej jako parametr czyli np.

def show_magicians(lista_imion):
    print(lista_imion)

 

make_great() ma tylko przetworzyć (dodanie słowa "Doskonały") zawartość listy przekazanej jako parametr i zwrócić w postaci nowej listy, np.

def make_great(lista_imion):
    nowa_lista = []
    for imie in lista_imion:
        nowa_lista.append("Doskonały " + imie)  
    return nowa_lista

 

Wywołaj funkcję  show_magicians() wraz z każdą listą, aby pokazać istnienie pierwotnej listy jedynie z imionami magików oraz nowej z dodanym słowem Doskonały przed  każdym imieniem magika.

 [ on-line ]

lista_imion = ['Wojtek', 'Grażyna', 'Alina', 'Karol']
nowa_lista = make_great(lista_imion)

show_magicians(lista_imion)
show_magicians(nowa_lista)

 

1
komentarz 6 grudnia 2022 przez dedek2 Początkujący (370 p.)
Tak, to o to chodziło aż nie wierze, że taki prosty zapis a ja nad tym siedziałem ile czasu dzięki.
komentarz 6 grudnia 2022 przez VBService Ekspert (256,600 p.)

BTW, python dopuszcza i taki zapis

def make_great(lista_imion):
    return ['Doskonały ' + imie for imie in lista_imion]

Sprawdź też jako ciekawostkę: ... ciekawe "ficzery" dotyczące Python-a

Podobne pytania

0 głosów
1 odpowiedź 1,144 wizyt
0 głosów
2 odpowiedzi 995 wizyt
0 głosów
1 odpowiedź 573 wizyt

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2459p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...