この記事で学べる知識:乱数生成
この記事の練習問題で使用する知識:
入力と出力の基本、コメントの書き方、変数の宣言と代入、基本データ型と算術演算子、文字列の操作、フォーマット文字列、乱数生成
<<前の問題 | 問題集Top |
次の問題>> |
Pythonの「乱数生成」とは
この章ではPythonにおける「乱数生成」の意味や使い方を学習します。必要ない方はここをクリックして練習問題へ飛びましょう。
プログラムの中でランダムな数値を扱うことは、ゲームやデータのシミュレーションなど、多くの場面で必要になります。
Pythonでは簡単に乱数を生成する機能が用意されています。この記事では基本的な乱数生成の方法について学んでいきましょう。
乱数生成とは?
乱数とは特定の規則に従わない、予測できない数のことです。
コンピュータで生成される乱数は実際には「疑似乱数」と呼ばれ、特定のアルゴリズムに基づいて計算されていますが、私たちにはランダムに見えるものです。
Pythonでは疑似乱数を簡単に生成するための仕組みが標準で用意されています。
Pythonでの乱数生成
Pythonでは乱数を生成するために「モジュール」と呼ばれる機能を使います。
モジュールとはPythonに新しい機能を追加するためのツールのようなものです。現時点ではまだモジュールについて深く理解する必要はありません。レッスン5でしっかり学びます。
ここでは乱数の生成だけできるようになりましょう。
小数の乱数を生成する
0.0以上1.0未満のランダムな小数を生成したい場合は、次のコードを使います。
import random # 0.0 以上 1.0 未満のランダムな数を生成 random_number = random.random() print(random_number)
このコードを実行すると、0.0から1.0の間でランダムに選ばれた小数が変数random_numberに代入され、printで表示されます。
最初に「import random」と書くことで、このコード内で乱数生成が使用可能になり、その後の「変数 = random.random()」の部分でランダムな数値を生成しています。まずはこの形を丸暗記しましょう。
実行するたびに異なる数値が表示されるので、試してみてください。
整数の乱数を生成する
特定の範囲で整数の乱数を生成することもよくあります。
たとえば1から6までの範囲でランダムに整数を生成したい場合、以下のコードを使います。
import random # 1 から 6 までのランダムな整数を生成 random_integer = random.randint(1, 6) print(random_integer)
このコードでは1から6までの整数がランダムに選ばれます。
これを何度か実行すると毎回異なる数字が表示されるのが確認できます。サイコロを振るような場面で役立つコードです。
前の例では「変数 = random.random()」だったのが今回は「変数 = random.randint(1, 6)」に変わっている点に注意しましょう。
「import random」は一つのコード内に一つ書いていれば、何度でも使用可能です。
まとめ
Pythonでは簡単に乱数を生成することができます。
今回は「モジュール」を使って乱数を生成しましたが、モジュールについては後で詳しく学ぶ予定です。
今はランダムな数を生成する基本的な方法を覚えて、プログラムに活用してみましょう!
練習問題1-6:1から100までのランダムな数字を表示しよう
プログラムでランダムに1から100までの間の整数を生成し、その数を表示するプログラムを作成しましょう。
さらに、f文字列を使って「あなたの番号は○○番です」と表示してください。
この問題の要件
以下の要件に従ってコードを完成させてください。
- ランダムな数を生成する機能を使って、1から100までの範囲の整数をランダムに生成すること。
- 生成されたランダムな数値を「あなたの番号は○○番です」という形式で表示すること。
- 生成された数値が毎回異なること。
ただし、以下のような実行結果となるコードを書くこと。
*****↓↓正解コードの実行結果の例↓↓*****
あなたの番号は 57 番です
この問題を解くヒント
非常にシンプルな問題の為、ヒントはありません。
難しいと感じる場合は、上記のテキストを読み返してみましょう。
解答例と解説
この問題の一つの正解例とそのコードの解説を以下に示します。
正解コードの例
例えば以下のようなプログラムが考えられます。
import random # 1から100までのランダムな整数を生成 random_number = random.randint(1, 100) # 結果を表示 print(f"あなたの番号は {random_number} 番です")
正解コードの解説
非常にシンプルなコードの為解説はありません。
難しいと感じる場合は上記のテキストを読み返してみましょう。
<<前の問題 |
問題集Top |
次の問題>> |
この記事への質問・コメント
この記事を作成するにあたりAIを活用しています。
問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。