【Python勉強会】randomモジュールを使って簡単におみくじを作ってみた

どうも!リョクちゃです。

今回はrandomモジュールを使って、

タイトルの通り簡単におみくじなるものを作ってみます。

ちなみに前回の記事はこちら

プログラムを短く書きたい。。。そんなことはないでしょうか?そんな時に使える方法を紹介していきます。今回はPythonで内包表記と呼ばれる手法を用いて、if文と絡めてプログラムの行数短縮を目指します。※可読性については無視しています。



randomモジュール

Pythonでは、

import random

と記述することで、使用することができます。

randomとは、名前の通り、何らかの値をランダムに取得し結果として返してくれるような

ことを得意とする関数が詰め込まれています。

簡単に以下の関数を紹介しておきます。

  • random.random()
  • random.randint(a, b)

random.random()は、0.0~1.0未満の少数をランダムで返してくれます

使い方は、そのまま

print(random.random())

とすることで、結果をランダムに返してくれます。

random.randint(a, b)は

引数に当てられた、aからbの整数値の間でランダムに値を1つ返してくれます

例えば、

print(random.randint(0, 5))

であれば、0~5の範囲でランダムに整数値を1つ選び返してくれます。

といった関数たちがrandomモジュールには含まれています。

いざ、おみくじを作る

それでは本題に入って、おみくじなるものを作っていきます。

おみくじには、凶から大吉までの運勢が一般的には存在します。

今回は、

  • 大凶
  • 小吉
  • 末吉
  • 大吉

を使って、簡単に運勢を占ってもらいます。

※中吉がないのは触れずに。。。

まずはこれらの運勢をリストに入れちゃいます。

lstFortune = [“大凶”, “凶”, “吉”, “小吉”, “末吉”, “大吉”]

こんな感じですね。

この作られたリストからランダムに1つ選んで返してくれる処理をすれば、

運勢を占うことができてしまいます。

ここでrandomモジュールの登場です。

randomモジュールでは便利なことに、

リストの中の要素をランダムに1つ選んで返してくれる関数が存在します。

それが、random.choice()といわれる関数になります。

これは引数にシーケンス型(いわゆる配列)の変数を渡すことで、

ランダムに要素を1つ返します。

実際に使ってみます。

print(random.choice(lstFortune))

とすることで、ランダムに運勢が1つ表示されます。

最終的なコードはこんな感じです。



まとめ

randomモジュールを使って、おみくじなるものを作ってみました。

実際のおみくじは、こんな単純なものではないとは思います。

これを参考に、UI設計しておみくじアプリを作ってみるのもありですね。

このようにモジュールといわれるある分野を得意とする関数がパッケージングされている

ものを使うことで一からコードを書かないでやりたいことが実現できる場合もあります。

これできないかな?と思ったことは一度調べてみて、

モジュールがある場合はそちらを採用することでプログラム開発にかかる時間を

短縮することができます。

最後までお読みいただきありがとうございます。

・こちらの書籍を参考にPythonの理解を深めました。

スポンサーリンク