Pythonで1から20までの乱数を生成し、リストに追加するプログラム
指定した範囲内で乱数を生成し、それらをリストに追加したい場合、乱数を生成して空のリストに append メソッドで順次追加していく関数を定義すると便利です。
以下に具体的な実装例を示します。
サンプルコード
import random
def random_gen(beg, end, my_num):
my_result = []
for j in range(my_num):
my_result.append(random.randint(beg, end))
return my_result
my_num = 19
beg = 1
end = 20
print("The number is :")
print(my_num)
print("The start and end values are :")
print(beg, end)
print("The elements are : ")
print(random_gen(beg, end, my_num))実行結果
The number is : 19 The start and end values are : 1 20 The elements are : [12, 12, 5, 12, 11, 1, 5, 12, 19, 19, 7, 15, 18, 18, 10, 14, 3, 2, 11]
解説
random_genという名前の関数を定義し、「開始値」「終了値」「生成する個数」の3つの引数を受け取ります。関数内では、
random.randint(beg, end)を使って開始値から終了値までの範囲(両端を含む)で乱数を生成します。生成した乱数は
appendメソッドで空のリストに1つずつ追加していきます。関数の外側で、生成する個数(
my_num)、開始値(beg)、終了値(end)の3つの変数を定義します。これらの値をコンソールに出力して確認できるようにしています。
最後に、定義した関数にこれらの値を引数として渡して呼び出し、戻り値のリストを表示します。
リスト内包表記を使ったより簡潔な書き方
同じ処理は、Pythonのリスト内包表記を使うと数行で簡潔に書くこともできます。
import random my_result = [random.randint(1, 20) for _ in range(19)] print(my_result)
このように for ループと append の組み合わせを1行にまとめられるため、シンプルな乱数生成処理ではこちらの方が読みやすい場合もあります。用途や可読性に応じて使い分けるとよいでしょう。
-
【Python入門】リストから一意の値(重複しない要素)だけを抽出して出力する方法
リストが与えられたとき、その中から重複を除いた一意の値(ユニークな要素)だけを取り出して表示するのが、この記事の目的です。Pythonを使えば、初心者でも簡単に実装できる定番の処理なので、ぜひマスターしておきましょう。実行例入力:A = [1, 2, 3, 4, 2, 1, 9] 出力:[1, 2, 3, 4, 9]リスト内に同じ値が複数回現れていても、出力されるのはそれぞれ1回だけです。アルゴリズムステップ1:ユーザーからリストを入力として受け取る。 ステップ2:空のリストを作成する。 ステップ3:元のリストの全要素を順番に走査する。 ステップ4:その要素がすでに一意のリストに存在するかどう
-
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