1. [ex8-1.py] 1.1 二次関数 a*x^2 + b*x + c の値を計算する関数 quad を定義しなさい。 ここで ^ はべき乗を表すものとする(^ は python で使える演算子ではない)。 関数 quad は 4 つの引数を持つこととし,最初の引数は x の値を受け取り,2番目以降の引数で a, b, c を受け取るものとする。 さらに,quad の引数 a, b, c はデフォルト値を持たせることによって,引数を一つだけ与えると x^2 の計算結果を返すこととする。 1.2 quad を以下のように呼び出して結果を表示する部分を加えなさい。実行結果が正しいことを確認しなさい。(ファイルにプログラムを保存するので,値の出力には print を使う必要がある) quad(3) -> 9 を返す quad(3,2) ->18 を返す quad(3,2,1) -> 21 を返す quad(3,2,1,-1) -> 20 を返す 1.3 関数 quad を使って,1, 2, 3, 4, 5 の各数の 2 乗を求めて表示するコードを加えなさい。繰り返しの構文 (for) を使うこと。 2. [ex8-2.py] 関数 quad の定義を含むモジュール ex7mod を作成し,これを使って 1. と同じ計算処理を行いなさい。 ================================================= クラスや関数などを集めて整理するのがモジュール クラスは関連する変数(データ属性(インスタンス変数))と関数(メソッド)を整理するためのもの (基本的には)クラスからオブジェクト(インスタンスともいう)を作って使う。 datetime モジュールから複数の date オブジェクトを作って使ってみる。 >>> import datetime >>> d = datetime.date(2026, 1, 1) >>> d.year 2026 >>> d.month 1 >>> d.day 1 >>> d.weekday() 3 >>> d2 = datetime.date(2026, 2, 4) >>> d2 - d datetime.timedelta(days=34) datetime.date クラスのデータ属性は year, month, day weekday() は曜日を整数で返す(月曜日が 0) date オブジェクト同士の引き算で経過日数が得られる datetime モジュールには,date クラスの他に,time, datetime, timedelta クラスなどがある。 リファレンスマニュアル: https://docs.python.org/ja/3/library/datetime.html ================================================= 3. [ex8-3.py] 以下のものを表示するプログラムを作りなさい。 自分の誕生日は何曜日だったか 今日は今年の何日目にあたるか 今年はあと何日あるか 自分は何日間生きてきたか datetime.date.today() は今日を date オブジェクトとして返すクラスメソッド (オブジェクトを作らずに使えるメソッド) 4. [ex8-4.py] 教科書 5.3.6 のプログラムを作成して実行しなさい。