A maioria das funções que utilizamos até agora depende dos parâmetros que lhes passamos. print() imprime as variáveis que lhe são fornecidas, max() calcula o máximo dos números fornecidos, math.sqrt() calcula a raiz quadrada do número fornecido. Portanto, as funções mudam o seu comportamento dependendo dos valores que recebem. Elas não repetem o mesmo conjunto de ações como a função do exercício anterior.
Para podermos alterar 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 apenas 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 da base circular pela altura: $$V = \pi r^2 h$$
A primeira linha da entrada conterá um número inteiro n — o número de cilindros para os quais o volume precisa ser calculado. As próximas n linhas contêm dois números 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 utilizados em outras partes do código. Portanto, se você tiver h = int(input()), talvez queira nomear o parâmetro da função como altura, por exemplo.