練習問題:関数#

Jupyter Notebook ファイルの準備

課題用に「practice9.ipynb」 という名前で Jupyter Notebook のファイルを作成してください。

この練習問題を通して、 Pythonの関数組み込み関数で学習した内容を改めて確認してください。

関数定義の基本#

問題1#

マイルを引数で渡すと、メートルに換算した値を返す関数 mile_to_meter を定義してください。また、その関数を使って 20 マイルが何メートルになるかを求めて。結果を以下の書式で出力してください。

  • xx,xxx.xxメートル ・・・ 3桁位取り有、小数点以下2桁、メートルを付ける

なお、1 マイルは 1609.344 メートルで計算します。

問題2#

問題1 で引数を指定せずに、mile_to_meter() を呼び出した場合には、戻り値として 1 マイルが何メートルになるかを返すようにしてください。

高度な関数定義#

問題1#

出発地、目的地、経由地を引数に受け取り、受け取った地名を「出発地,経由地,到着地」の順番にカンマ区切りで出力する関数 route() を定義してください。ただし、経由地は省略可能でかつ数は可変とし、複数指定された場合は、渡された順番に同様の形式で出力するものとします。また、定義した関数が正しく動作することを確認するために、次の 3 通りで呼び出してください。

route('新宿', '本厚木')  # 新宿,本厚木
route('新宿', '本厚木', '町田')  # 新宿,町田,本厚木
route('新宿', '本厚木', '下北沢', '登戸', '町田')  # 新宿,下北沢,登戸,町田,本厚木

問題2#

人材登録システムにおいて、1 人の人材情報を登録する関数 entry() を定義してください。この関数は、名前(name)と年齢(age)の 2 つの引数の指定を必須とし、それ以外の情報は、属性名をキーとするキーワード引数として可変な数を受け取ります。そして、受け取った情報を以下の形式で表示します。

  • entry('厚木太郎', 40, height=170, weight=76) で呼び出した場合の表示例

    以下の情報で新しい人材を登録しました。
    name: 厚木太郎
    age: 40
    height: 170
    weight: 76
    

組み込み関数#

問題1#

引数に渡された数値(個数は可変)の合計を返す関数 total() を、組み込み関数の sum() を使って定義してください。また、この関数が次の呼び出せることを確認してください。

print(total(1, 2, 3))  # 6
print(total(1, 2, 3, 4, 5))  # 15

問題2#

引数に渡された数値(個数は可変)の中から最大値と最小値を求め、そのペアを (最小値, 最大値) のタプルで返す min_max() 関数を、組み込み関数の min()max()を使って定義してください。また、この関数が次の呼び出せることを確認してください。

print(min_max(1, 2, 3, 4, 5))  # (1, 5)
print(min_max(-1, -2, -3, -4, -5))  # (-5, -1)