Funzioni con argomenti

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 ().
import math

def print_circumference(radius):
    print(2 * math.pi * radius)


print_circumference(4)   # 25.1327412
print_circumference(0)   # 0
print_circumference(1)   # 6.28318530
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$$
notion image
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
1 15 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.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue