$2 ページの表示

2-3 乱数を使った表示

乱数を使った「おみくじ」の例をつくってみましょう。ここでは配列を使った例だけ紹介します。

  1: #! /usr/bin/python
  2: 
  3: import whrandom
  4: 
  5: Unsei = ('大吉', '中吉', '小吉', '末吉', '凶')
  6: 
  7: Random = whrandom.randint(0, 4)
  8: 
  9: print "Content-type: text/html\n\n"
 10: print "<H1>あなたの運勢は %s です。</H1>" % Unsei[Random]

まず、Pythonで乱数を使うには、乱数のモジュールを import する必要があります。 3行目で、乱数を作る「whrandom」というモジュールを import しています (ちなみに「random」というモジュールもありますが、こちらは統計的な分布にしたがった乱数を返します)。 乱数の初期化を指定しなくても、現在時刻を元にした乱数を発生します (特に乱数の初期化を指定する「seed()」という関数もあります)。

5行目で、運勢の配列を作ってます。配列について、Pythonでは「リスト」と「タプル」という配列があります。 「リスト」のほうが「配列」といって普通想像するものです。 「タプル」も配列ですが、一度作ったら内容を変更できません (例えば、前回の時間関数で返される配列はタプルです)。 作り方の違いは、リストは配列の要素を「[ ]」で囲み、タプルは「( )」で囲みます。 ということで、上の例ではどっちでもいいですけどタプルを使ってます。

7行目で、「randint(0, 4)」は、0から4までの(4を含む)整数のいずれかを返します。

10行目は、printf的な使い方です。 簡単に言えば、「" "」の中の「%s」の部分が、後に書いてある「Unsei[Random]」の内容に置き換えられます。

実は、モジュール whrandom に「choice()」という関数があり、 「whrandom.choice(Unsei)」と書けば、配列 Unsei の要素をランダムに選んでくれます。
この方法だと、次のように短くできます。

  1: #! /usr/local/bin/python
  2: 
  3: import whrandom
  4: 
  5: Unsei = ('大吉', '中吉', '小吉', '末吉', '凶')
  6: 
  7: print "Content-type: text/html\n\n"
  8: print "<H1>あなたの運勢は %s です。</H1>" % whrandom.choice(Unsei)

Next: 3-1 リンクによるデータ取得

Previous: 2-2 時間を使った表示

Contents


Foundation of CGI Page

春風はるか haruka@harukaze.net