例題(8)

[ edit ]

*


概要

[ edit ]

*


ポイント

[ edit ]

*


実行例

[ edit ]

  • 実行例(1) ... クリックすると拡大します

fig-01

*


本質的な部分 (授業中に順次公開します)

[ edit ]

  • Pythonにおける乱数の使い方は,以下にまとめています.
  • ここで使う,乱数の使い方をまとめます.
    • randomモジュール

    • randint()

      • 擬似乱数を返すメソッド:指定範囲(下限だけでなく上限も含む)の整数

    • seed()

      • 疑似乱数列生成器の最初の乱数を作り出すための種(シード)

      • 同じシードからは,同じ乱数列が作られる

        • 普通はあまり意識する必要はないようです.
          • Pythonの場合,一つの乱数生成器の疑似乱数系列を使いまわすことが多いからです.
        • でも,シードを意識することは悪いことではありません.
          • シミュレーション実験を開発している最中には,あえて同じ乱数系列を生成させて試す必要があることもあるでしょう.
          • 逆に,乱数系列が異なることを,シードを替えることで明示的に示したいこともあるでしょう.
        • 下記の例では,あえて,現在の時刻をtime.time()で与えていますが...

          • seed()で引数を省略すると,現在の時刻がfloat()型で与えられますので,明示的に与えなくても大丈夫です.

          • time.time()関数もそうですが,時刻がfloat()で与えられるときは,プラットフォーム依存のエポックからの秒数です.

    random
    モジュール

    randint()

    擬似乱数を返すメソッド
    指定範囲(下限だけでなく上限も含む)の整数

    seed()

    疑似乱数列生成器の
    最初の乱数を作り出すための種(シード)

  • 解答例の核心部分は,下記の 数行の関数です.

import random

def test_of_random( seed_of_random, num ):
    print( "----- 乱数のテスト ----" )
    print( "  ※乱数のシード:", seed_of_random )
    random.seed( seed_of_random )
    for i in range( 0, num ):
        print( random.randint( 0, 9 ) )
    print( "-------------------" )
*


高度な話題 (授業中,もしくは授業後に順次公開します)

[ edit ]

  • 高度な話題へのリンク: 授業の流れを阻害しないように別ページにします

    • (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).
    • 時刻(特にエポック)に関するものです.


配布コード (授業中に順次公開します)

*

*

SoftEng: Python/Prog/Example/02/Ex_008a (last edited 2018-10-28 12:36:54 by TadashiIijima)