指定した範囲内の乱数を生成してリストに保存するPythonプログラム
このプログラムでは、3つのユーザー入力変数を使用します。1つ目は乱数の開始値、2つ目は終了値、3つ目は生成して表示する乱数の個数です。
Pythonには乱数を生成するための標準モジュール random が用意されています。本記事では、その中でも指定した範囲内の整数乱数を返す randint() 関数を使用します。randint() は2つの引数(開始値と終了値)を受け取り、両端の値を含む範囲からランダムな整数を1つ返します。
実行例
n :: 10 s :: 20 e :: 40 [20, 35, 32, 27, 24, 35, 28, 31, 20, 28]
アルゴリズム
Randomno(s, e, n)
Step 1 : 開始値(s)、終了値(e)、追加する乱数の個数(n) を入力として受け取る。
Step 2 : r = [] /* 乱数を格納するための空のリストを用意する。
Step 3 : for j in range(n):
r.append(random.randint(s, e)) /* randint() に開始値と終了値の2つの引数を渡す。
サンプルコード
# 指定した範囲内で乱数を生成し、リストに保存するプログラム
import random
def randomno(s, e, n):
ran = []
for i in range(n):
ran.append(random.randint(s, e))
return ran
# ドライバーコード
n = int(input("表示したい乱数の個数を入力してください ::"))
s = int(input("開始値を入力してください ::"))
e = int(input("終了値を入力してください ::"))
print(randomno(s, e, n))
コードのポイント
まず import random で乱数モジュールを読み込みます。関数 randomno(s, e, n) の内部では、空のリスト ran を作成し、for ループで n 回繰り返しながら ran.append(random.randint(s, e)) を実行して、範囲内の乱数を順次リストへ追加していきます。最後に return ran で完成したリストを返します。
ドライバーコード部分では、input() と int() を組み合わせてユーザーから個数・開始値・終了値を整数として受け取り、関数の戻り値を print() で出力しています。
出力結果
表示したい乱数の個数を入力してください :: 10 開始値を入力してください :: 20 終了値を入力してください :: 40 [20, 35, 32, 27, 24, 35, 28, 31, 20, 28]
このように、random.randint() とリストの append() メソッドを組み合わせることで、指定した範囲内の乱数を任意の個数だけ簡単に生成し、1つのリストにまとめて保存することができます。
-
Pythonで重複のない乱数を生成する方法を解説
Pythonで重複のない乱数を生成する方法 以下のプログラムは、1から100までの範囲で重複のないランダムな整数を10個生成します。仕組みはシンプルで、指定した範囲内で乱数を生成し、その値がまだリストに存在しない場合にのみリストへ追加していきます。 >>> import random >>> list=[] >>> for i in range(10): r=random.randint(1,100) if r not in list: list.append(r) >>> list [1
-
Pythonで乱数を生成する方法を徹底解説!randomモジュールの基本と使い方
Pythonの標準ライブラリには、乱数を生成するための機能がまとめられた random モジュールが用意されています。このモジュールを利用することで、浮動小数点数や整数の乱数、シーケンスからのランダムな要素の取得などを簡単に実現できます。ここでは、よく使われる主要な関数をサンプルコードとともに紹介します。random():0以上1未満の浮動小数点数を生成もっとも基本的な関数が random() です。この関数は、0以上1未満の範囲のランダムな浮動小数点数を返します。>>> import random>>> random.random()0.520470277