上級Python開発コース
チャプター
>
レベル
数学モジュール
数学モジュール拡張
目的
mathモジュールからインポートされた追加の関数を使用して、農場の新たな土地拡張部分を計算します。
橋を渡ると、併設の事務所には、農場の二つの異なる部分を融合する未編入地を測量するためのオフィスがあります。ここでは、ある土地の寸法や測定値が見つかります。それらを整理してデータを記録するのが良いでしょう。これを実現するために、mathモジュールを使用します。このレベルでは、このセットのデータ処理に使用できる新しい関数群を紹介します。同じく import math と math. を関数の前に付けてこのセットを使用します:
math.radians(): 度をラジアン(角度)に変換します。math.floor(): 数値を基数に向かって切り捨てます。math.ceil(): 数値をより大きい数値に切り上げます。math.atan2(): 2つの数値間のアークタンジェントをラジアン単位で返します。math.isclose(): 2つの数値が互いに近いかどうかをチェックし、trueまたはfalseを返します。math.fsum(): リストまたは反復可能なオブジェクトから浮動小数点(小数)数を合計します。math.dist(): 2点間の距離をチェックします。値はリストまたは反復可能なオブジェクトである必要があります。
チャートから生データを集め始めるには、赤と青のカーペット上のライトXマークの方向へ歩いてください。read()関数を使用して、測定に必要な生寸法を特定します。これらの測定値はすでに red_x 、red_y 、blue_x 、blue_y という4つの定数変数に保存されています。
両方のデータセットが特定されたら、オレンジのカーペット上の暗いXマークの方向へ歩き、机に向かいます。math.radians() と math.ceil() を使用して、blue_x と blue_y の変数をラジアンに変換し、かつ切り上げます。float() を使用して、定数が編集可能な小数になっていることを確認してください。例えば、blue_x 変数の場合、ラジアンに変換するには blue_x = math.radians(float(blue_x)) とし、値を切り上げるには blue_x = math.ceil(float(blue_x)) とします。同様に、このXマークで blue_y に対しても実施し、完了したら、あらかじめ用意された write() 関数を使用して、blue_x と blue_y の変数をチャートに記録します。
次に、緑のカーペット上の暗いXマークへ歩き、math.radians() と math.floor() を使用して、red_x と red_y の変数をラジアンに変換し、かつ切り捨てます。例えば、red_x 変数の場合、ラジアンに変換するには red_x = math.radians(red_x) とし、値を切り捨てるには blue_x = math.floor(red_x) とします。同様に、このXマークで red_y に対しても実施し、完了したら、あらかじめ用意された write() 関数を使用して、red_x と red_y の変数をチャートに記録します。
次に、ゴールドのXマークへ歩いて机に向かいます。ここでは、新たに data_a と data_b の2つの変数を作成します。ここでは、各セットのアークタンジェントを math.atan2 関数を使用して保存します。data_a の場合は、blue_x と blue_y の変数を使用して、次のように関数を呼び出します: data_a = math.atan2(blue_x,blue_y) 。data_b も同様に、red_x と red_y を使用して行います。完了したら、あらかじめ用意された write() 関数を使用して、data_a と data_b の変数をチャートに記録します。
次に、紫のカーペット上の暗いXマークへ歩き、comparison という変数を作成し、math.isclose() 関数と組み合わせて、引数として data_a と data_b を使用します。次のように記述します: comparison = math.isclose(data_a, data_b) 。このXマークでは、あらかじめ用意された write() 関数を使用して、comparison 変数を記録します。
最後に、白のカーペット上のXマークへ移動し、data_list というリストを作成して、順番に data_a と data_b を追加します。次に、total という変数を作成し、data_list を引数として math.fsum() 関数を使用します。次のように記述します: total = math.fsum(data_list) 。このXマークでは、あらかじめ用意された write() 関数を使用して、total 変数を記録します。
次に、黄色のカーペット上の暗いXマークへ移動し、机に向かいます。ここでは、data_a と data_b を個別のリスト値に変換します。例えば、data_a の場合は、次のように行います: data_a = [data_a] 。data_b も同様に行い、両方の変数を math.dist() 関数で使用するための反復可能なオブジェクトに変換します。次に、distance という変数を作成し、math.dist() の値を保存します。引数として data_a と data_b を使用します。最後に、あらかじめ用意された write() 関数を使用して、distance 変数を記録し、このレベルを完了させます。