乱数を使った「おみくじ」の例をつくってみましょう。ここでは配列を使った例だけ紹介します。
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)