プログラミング入門I
2024.10.28
乱数

Back to index page



  1. 本日の作業内容

  2. 前回の解答用紙の使い方チェックについて
  3. 先週は解答用紙の使用法の確認作業を行ってもらいましたが,いくつかの不備が見られました.実際の提出ではちゃんと修正して下さい.

    実行時エラー

    実行させてエラーになるものは採点しません.必ず自分で動作を確認してから提出してください.

    b2449(エディタとシェルの区別がついていない)

    解答用紙の不使用・改ざん

    解答用紙は自分で勝手に変更しないでください.上部のハッシュ # でコメントアウトした部分と最後のハイフンラインは必須です.解答用紙を使用しなかったり,改ざんしたりすると採点の対象外となりますので,注意してください.

    b2422 b2461 b2464

    解答用紙のヘッダ部分の番号と名前の未修正

    解答用紙の上部のコメントアウトした部分にはデフォルトで適当な学生番号と名前が入っていますので,そこは必ず自分のものに直してから解答を始める習慣をつけてください.こちらも減点対象です.

    b2425 b2457

    実行時の学生番号間違い

    実行時に学生番号が s246099 のままの人がいました.授業のときに話しましたが,そこは当然自分の学生番号に変えておいてください.

    b2404 b2412 b2419 b2425 b2437 b2439 b2440 b2447

    不要な情報の追加

    実行時に画面に学生番号を出力するように解答用紙は作っていますが,自分の名前は出力する必要はありません.ソースコードの中で日本語を使うと見えない空白文字が混在する危険もありますので,名前は要りません.

    b2414 b2417 b2418 b2430 b2432 b2433 b2438 b2444 b2448 b2451 b2453 b2455 b2457 b2459 c01 c02

  4. 前回の宿題について

    前回の宿題の講評ですが,今回は特別に期間限定でこのリンク先のページで説明します.

  5. 前回の復習

    print() を使用して画面に文字列を表示する練習をしました.また,f 文字列(format メソッド)についても学習しました.今回も使用しますので,演習問題を通して理解を深めてください.

  6. 乱数

    乱数はこの授業ではほぼ毎回使用する非常に重要な機能です.教科書 p.98(旧版では p.96)では2種類の乱数を発生させる関数が紹介してありますので,違いを理解してどちらを使用するか間違えないようにしましょう.

    1. モジュールのインポート

      乱数を発生させる関数を読み込むためにはモジュールの読み込みが必要です.今回は,教科書 p.98 にあるモジュールの random を読み込みます.読み込むメソッドは import です.

    2. randint()

      整数の乱数を発生させる際には,教科書 p.98 にある randint() を使用します.次のプログラムは3桁と1から20までの乱数を発生させるプログラムです.

      import random
      
      num1 = random.randint(100, 999)
      num2 = random.randint(1, 20)
      
      print(f'Random number with 3 digits: {num1}')
      print(f'Random number between 1 and 20: {num2}')
      

      Random number with 3 digits: 473
      Random number between 1 and 20: 16
      

    3. random()

      関数の random() は0から1の間の小数を発生させる関数です.

      import random
      
      num = random.random()
      
      print(f'Random number between 0 and 1: {num}')
      

      Random number between 0 and 1: 0.7772063796213998
      

    4. ファイル名の注意

      乱数を使用する時にモジュールの random を読み込みます.そこで,注意が必要なのですが,もし自分が作ったプログラムを random.py として保存してしまうと,モジュールとしてその自分のプログラムを読み込むことになるので,当然エラーとなります.ということで,モジュールと同じ名前のファイル名は決してつけないでください.

    5. その他の乱数発生関数
    6. 実は Python には他にもたくさんの乱数を発生する関数があります.便利そうなものを2つほど紹介しておきます.

      • randrange()
      • この関数は以下のように引数を用意します.

        random.randrange(start, stop, setp)
        

        start 以上で stop 以下の整数の中から乱数をつくりますが,start から step 分とびとびの値から乱数を選びます.なので,start が偶数で step が 2 だと,偶数の乱数を発生することになります.

      • gauss() と normalvariate()
      • 正規分布に従った乱数を発生させる関数です.詳細は説明しませんが,データ処理の例題データを作る際に活用できます.

  7. 演習

    今回の演習問題です.

  8. 本日のまとめ

  9. 宿題

    宿題が公開されるのは明日火曜日10:00の予定で,締切りは来週の月曜日11月6日の10:00です.レポート提出システムを使用します.

    Python は基本的に文字コードがUTF-8のソースしか読み込めませんので,文字コードにUTFを使っている回答用紙もリンクをクリックして表示させると,文字化けします.解答用紙を使用する時には,リンクを右クリックして,「名前を付けてリンク先を保存」を選んで,保存してから使用してください.
  10. 次回の予習範囲

    次回は教科書のp.45-88(旧版はp.45-85)の範囲を学習しますので,予習をしてきてください.


目次ページに戻る