📘 Funzioni Definite dall’Utente

Le funzioni definite dall’utente sono blocchi di codice creati per svolgere un compito specifico all’interno di un programma. A differenza delle funzioni integrate, vengono scritte dallo sviluppatore per risolvere problemi particolari. Permettono di riutilizzare codice, migliorare l'organizzazione del programma e mantenerlo più leggibile ed efficiente.


🔹 Struttura di una Funzione in Python

def function_name(argument_1, argument_2):
    # Code block
    return result

Componenti principali

  • def → indica l’inizio della definizione della funzione
  • function_name → nome descrittivo della funzione
  • parametri → variabili tra parentesi che ricevono valori dall’esterno
  • corpo della funzione → codice indentato che verrà eseguito
  • return → restituisce un valore (opzionale)

🔹 Parametri vs Argomenti

def greet_customer(name):
    print(f"Hello, {name}! Welcome to our store.")

greet_customer("Alice")
  • Parametroname
  • Argomento"Alice"

🔹 Funzioni Void

Le funzioni che non restituiscono un valore (o restituiscono implicitamente None) sono dette funzioni void.

Esempio:

def check_stock(inventory):
    for item, stock in inventory.items():
        if stock < 10:
            print(f"Warning: {item} is running low on stock with only {stock} units left!")
            print("Please restock the item before proceeding with the check.")
            return  # termina la funzione
        print(f"{item} has sufficient stock: {stock} units.")

    print("All items have sufficient stock.")

🔹 Funzioni che Restituiscono un Valore

def calculate_discounted_price(cost, discount_rate):
    final_price = cost * (1 - discount_rate)
    return final_price

Queste funzioni permettono di calcolare valori utilizzabili altrove nel programma.


🔧 Compito: Calcolo del Costo Totale

Obiettivo

Creare una funzione che calcoli il costo totale moltiplicando prezzo × quantità.

Istruzioni

  1. Definire una funzione calculate_total_cost(price, quantity)

  2. All’interno, calcolare price * quantity

  3. Restituire il risultato

  4. Chiamare la funzione con:

    • price = 1.50
    • quantity = 10
  5. Stampare:

The total cost for apples is $<apples_total_cost>

Soluzione

def calculate_total_cost(price, quantity):
    total = price * quantity
    return total

# Call the function
apples_total_cost = calculate_total_cost(1.50, 10)

# Output
print(f"The total cost for apples is ${apples_total_cost}")