Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comportamento delle Liste nelle Funzioni | Funzioni
Introduzione a Python

Scorri per mostrare il menu

book
Comportamento delle Liste nelle Funzioni

Esploriamo il lavoro con le liste all'interno delle funzioni. Sebbene sia simile al lavoro con i numeri, ci sono alcuni dettagli importanti da considerare.

Le liste sono mutabili, il che significa che qualsiasi modifica apportata a una lista all'interno di una funzione influenzerà anche la lista originale all'esterno della funzione se viene passata direttamente.

Per evitare ciò, è possibile utilizzare il metodo copy() con qualsiasi tipo di dato mutabile. In questo modo si crea una copia superficiale della lista, consentendo di modificare un duplicato invece dell'originale. Questo garantisce che le modifiche apportate all'interno della funzione non influenzino la lista originale.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

In questo esempio, la lista originale fruits rimane invariata perché è stato utilizzato copy(). Senza copy(), modificare la lista all'interno della funzione avrebbe cambiato anche la lista originale fruits.

Compito

Swipe to start coding

Crea una funzione per applicare uno sconto del 10% ai prezzi dei prodotti superiori a $2.00, senza modificare la lista originale.

  • Definire una funzione apply_discount(prices) che accetta una lista di prezzi.
  • All'interno della funzione, creare una copia di prices e assegnarla a prices_copy.
  • Utilizzare un ciclo for con iterazione tramite indice (range(len(prices_copy))) per scorrere la lista copiata.
  • Se un prezzo è superiore a 2.00, applicare uno sconto del 10%.
  • Restituire la lista aggiornata prices_copy.

Requisiti di output

  • La funzione deve restituire la nuova lista con i prezzi scontati.
  • Stampare il risultato utilizzando:
    Prezzi dei prodotti aggiornati: <$updated_prices>

Nota

Utilizzare l'iterazione basata su indice per garantire che la lista venga modificata correttamente: for index in range(len(prices)): modifica direttamente gli elementi, a differenza di for price in prices:.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 4
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Comportamento delle Liste nelle Funzioni

Esploriamo il lavoro con le liste all'interno delle funzioni. Sebbene sia simile al lavoro con i numeri, ci sono alcuni dettagli importanti da considerare.

Le liste sono mutabili, il che significa che qualsiasi modifica apportata a una lista all'interno di una funzione influenzerà anche la lista originale all'esterno della funzione se viene passata direttamente.

Per evitare ciò, è possibile utilizzare il metodo copy() con qualsiasi tipo di dato mutabile. In questo modo si crea una copia superficiale della lista, consentendo di modificare un duplicato invece dell'originale. Questo garantisce che le modifiche apportate all'interno della funzione non influenzino la lista originale.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

In questo esempio, la lista originale fruits rimane invariata perché è stato utilizzato copy(). Senza copy(), modificare la lista all'interno della funzione avrebbe cambiato anche la lista originale fruits.

Compito

Swipe to start coding

Crea una funzione per applicare uno sconto del 10% ai prezzi dei prodotti superiori a $2.00, senza modificare la lista originale.

  • Definire una funzione apply_discount(prices) che accetta una lista di prezzi.
  • All'interno della funzione, creare una copia di prices e assegnarla a prices_copy.
  • Utilizzare un ciclo for con iterazione tramite indice (range(len(prices_copy))) per scorrere la lista copiata.
  • Se un prezzo è superiore a 2.00, applicare uno sconto del 10%.
  • Restituire la lista aggiornata prices_copy.

Requisiti di output

  • La funzione deve restituire la nuova lista con i prezzi scontati.
  • Stampare il risultato utilizzando:
    Prezzi dei prodotti aggiornati: <$updated_prices>

Nota

Utilizzare l'iterazione basata su indice per garantire che la lista venga modificata correttamente: for index in range(len(prices)): modifica direttamente gli elementi, a differenza di for price in prices:.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 6. Capitolo 4
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt