Lesson04 ランダム関数
みんなのコードを見てみよう
- import
- ランダム関数
本日は、前回の演習で皆さんが書いたコードを紹介し、講評や添削を行います。
今使うソースコードはここからまとめてダウロードできます。 ダウンロードfile_download
前回の復習
前回はこれまでの復習を兼ねた演習回でした。
前回出た重要キーワード
- if
- else節
- elif節
- float型、小数の数字
- 剰余、%演算子
- 商を求める、// 演算子
わからない単語があればすぐに質問しよう!
1モジュールの使い方
この章のキーワード
- import・・・・・モジュールを呼び出す呪文
- モジュール・・・便利な関数がまとまった集まりのこと。
python には、print や input のようにあらかじめ組み込まれた便利な関数があります。しかし、print や input だけでは実現できない機能もあります。そういった機能は、モジュールという機能がまとまったファイルに入っています。
モジュールとは、いわば python 上級者が作ってくれた便利な関数の集まりです。モジュールの中の関数は、input や print と違い、一度呼び出してからでないと使うことができません。
モジュールには、以下のような様々なものがあります。
日付を扱う関数や機能の集まり | datetime |
---|---|
文字のパターンを扱う | re |
数学に関する関数を扱う | math |
グラフを描画する | matplotlib |
機械学習、いわゆるAIの機能を扱う | sklearn |
モジュールの呼び出し方
1 | import モジュール名 |
---|
今回は、数あるモジュールの中で1つだけ学びます。
それが、random モジュールです。これは、ランダムな数を作り出すモジュールです。
さらに、random モジュールの中には、randint や choice や shuffle や uniform などたくさんの関数が含まれています。
さて今日は、その中でも「 randint() 関数」を学びましょう。
これは次の書式で実行すると、A から B までの整数のうち、呼び出すたびに違う数を返してくれるのです。
import random
代入する変数 = random.randint(A,B)
実行するたびに、0 か 1 か 2 か 3 を表示するプログラム(lesson004_10.py)
1 2 3 |
import random num = random.randint(0,3) print(num) |
---|
演習の時間
演習の解答はここからダウンロードできます。ダウンロードfile_download
演習1
第3回の【演習1】では、7 の倍数かどうかを判定するプログラムを作りました。
これを進化させましょう。
7 の倍数でないとき、「入力した数より大きくて最も近い 7 の倍数」を表示するプログラムを作って下さい。enshu004_01.pyの名前で保存してください。
期待される動作
7 の倍数であるかどうかを判定します。
6987654321 Enter を押す。
6987654321は7の倍数ではありません。
これより大きい一番近い 7 の倍数は9876543215です。
ヒント
「入力した数より小さくて最も近い 7 の倍数」を表示するプログラムはどうなりますか?
入力した数字 N | 7で割ったあまり N%7 | Nより小さくて最も近い7 の倍数 | Nより大きくて最も近い 7 の倍数 |
---|---|---|---|
100 | 2 | 98 | 105 |
101 | 3 | 98 | 105 |
102 | 4 | 98 | 105 |
103 | 5 | 98 | 105 |
104 | 6 | 98 | 105 |
105 | 0 | ー | ー |
seisuu | seisuu%7 | baisu_7_min | baisu_7 |
baisu_7 、baisu_7_min がseisuuを使ってどのように書けるか考えてみましょう。
演習2
下記のようなような動作をするおみくじプログラムを作ります。このプログラムは、Enterを押すと、ランダムに次の 4 つのメッセージを表示します。
「やったね!大吉です!」
「なかなかいいよ。中吉です」
「いいよ、吉です。」
「がーん、凶です…明日があるさ」
enshu004_02.pyの名前で保存してください。
期待される動作
Enterを押してください
Enterを押す
やったね!大吉です!
ヒント
4つの数字にメッセージを対応させてみましょう。
演習3
演習2で作ったおみじくプログラムは、4つのメッセージがほぼ等確率で現れます。しかしそれではおみくじらしくありません。そこで、大吉は約 10 %の確率で、中吉は 35 %の確率で、吉は 50 %の確率で、凶は 5 % の確率で表示されるように改良を加えてください。
(ensyu004_03.pyの名前で保存してください。)
ヒント
出てくる乱数を 1 から 100 の範囲に設定し、その数字を大小比較します。