La maggior parte delle funzioni che abbiamo usato finora dipende dai parametri che passiamo loro. print() stampa le variabili che le vengono passate, max() calcola il massimo dei numeri passati, math.sqrt() calcola la radice quadrata del numero passato. Quindi, le funzioni cambiano il loro comportamento in base al valore che viene loro fornito. Non ripetono la stessa serie di azioni come faceva la funzione nell'esercizio precedente.
Per poter cambiare il comportamento in base ai parametri, dobbiamo passare i parametri alla funzione. Questo può essere fatto definendo gli argomenti che la funzione può accettare all'interno delle parentesi di apertura e chiusura ().
def print_volume(h, w, d):
volume = h * w * d
print(volume)
print_volume(2, 3, 4) # 24
print_volume(2, 0, 4) # 0
print_volume(1, 10, 24) # 240
Una funzione può avere tutti gli argomenti necessari. Devono solo avere nomi appropriati ed essere separati da virgole.
Sfida
Scrivi una funzione che calcoli il volume di un cilindro e lo stampi.
Ricorda che il volume del cilindro si calcola moltiplicando l'area del cerchio di base per l'altezza: $$V = \pi r^2 h$$
La prima linea dell'input conterrà un intero n - il numero di cilindri per i quali bisogna calcolare il volume. Le successive n linee contengono due interi h e r: l'altezza e il raggio del cilindro.
Chiama la funzione che hai creato per ogni cilindro in modo che l'output del programma contenga n volumi.
Ingresso
Uscita
115
6
1696.46
Suggerimento
Quando assegni nomi ai parametri della funzione, è buona pratica utilizzare nomi che non coincidano con altri nomi usati in altre parti del codice. Quindi, se hai h = int(input()), potresti voler chiamare il parametro della funzione altezza, ad esempio.