A maioria das funções que usamos até agora depende dos parâmetros que passamos a elas. print() imprime as variáveis passadas para ela, max() calcula o máximo dos números passados para ela, math.sqrt() calcula a raiz quadrada do número passado para ela. Assim, as funções mudam seu comportamento dependendo dos valores que recebem. Elas não repetem o mesmo conjunto de ações como a função no exercício anterior fez.
Para poder mudar o comportamento com base nos parâmetros, precisamos passá-los para a função. Isso pode ser feito definindo os argumentos que a função pode aceitar dentro dos parênteses ().
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
Uma função pode ter quantos argumentos forem necessários. Eles só precisam ter nomes apropriados e serem separados por vírgulas.
Desafio
Escreva uma função que calcule o volume de um cilindro e o imprima.
Como lembrete, o volume do cilindro é calculado multiplicando a área do círculo da base pela altura: $$V = \pi r^2 h$$
A primeira linha da entrada conterá um inteiro n - o número de cilindros para os quais o volume precisa ser calculado. As próximas n linhas contêm dois inteiros h e r. A altura e o raio do cilindro.
Chame a função que você criou para cada cilindro, de modo que a saída do programa contenha n volumes.
Entrada
Saída
115
6
1696.46
Dica
Ao nomear os parâmetros da função, é uma boa prática usar nomes que não coincidam com outros nomes usados em outras partes do código. Então, se você tem h = int(input()), você pode querer nomear o parâmetro da função como height, por exemplo.