引数を持つ関数
これまで使用してきた関数の多くは、渡したパラメータに依存しています。
print()
は渡された変数を表示し、max()
は渡された数値の最大値を計算し、math.sqrt()
は渡された数値の平方根を計算します。つまり、関数は渡された値によって動作が変わるのです。前の演習での関数のように、毎回同じ一連の動作を繰り返すわけではありません。パラメータに基づいて動作を変えるには、関数にパラメータを渡す必要があります。これは、関数が受け取る引数を開き括弧と閉じ括弧
()
の中で定義することで実現できます。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
関数には必要なだけ多くの引数を持たせることができます。適切な名前を付けて、カンマで区切ればよいのです。
チャレンジ
円柱の体積を計算して表示する関数を書いてください。
参考までに、円柱の体積は底面の円の面積に高さを掛けて計算します:$$V = \pi r^2 h$$
入力の最初の行には整数
n
が含まれます。これは体積を計算する円柱の数です。続くn
行には2つの整数h
とr
が含まれます。これはそれぞれ円柱の高さと半径です。作成した関数を各円柱に対して呼び出し、プログラムの出力が
n
個の体積を含むようにしてください。入力 | 出力 |
1
15
6 | 1696.46 |
ヒント
関数のパラメータに名前を付けるときは、コードの他の部分で使われている名前と重ならないようにするのが良い習慣です。例えば、
h = int(input())
がある場合、関数のパラメータはheight
のように名付けるとよいでしょう。Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB