プログラミングを学習する上で、テストデータとしてランダムな数値や数値等が必要となる場合がある。
学習を始めた頃は適当にタイピングしてみたり、AIに作ってもらったり等で対処してきたが、段々とその作業が面倒になってきてしまった。
これでは本末転倒なので、テストデータ自体もプログラムに作ってもらうことにした。
このプログラムを作る過程も学習の一環となったので、自分用チートシートとして記録を残しておく。
1. ある整数1つをランダムに生成
randomモジュールを用いる。
こちらはPythonの標準モジュールであるため、事前のインストールは必要ない。
コード
import random
a = int(input("乱数の最小値:"))
b = int(input("乱数の最大値:"))
print(random.randint(a, b))
出力例
乱数の最小値:1
乱数の最大値:100
32
2. ランダムな数列を生成
1.をベースとして、リスト内包表記で生成が可能である。
コード
import random
a = int(input("乱数の最小値:"))
b = int(input("乱数の最大値:"))
n = int(input("数列のサイズ:"))
li = [random.randint(a, b) for i in range(n)]
print("")
print(li)
出力例
乱数の最小値:1
乱数の最大値:10
数列のサイズ:10
[5, 3, 7, 9, 5, 1, 4, 5, 3, 8]
3. ランダムな二次元配列を生成
Numpyモジュールを用いる。
Pythonの標準モジュールには入っていないため、事前にインストールしておく必要がある。
コード
import numpy as np
a = int(input("乱数の最小値:"))
b = int(input("乱数の最大値:"))
x = int(input("配列の行数:"))
y = int(input("配列の列数:"))
li = np.random.randint(a, b+1, (x, y))
print("")
# ndarray形式(Numpyで多次元配列を扱うためのデータ構造)
print(li)
# リスト形式
print(li.tolist())
出力例
乱数の最小値:1
乱数の最大値:30
配列の行数:3
配列の列数:3
# ndarray形式
[[ 1 14 13]
[15 21 14]
[24 4 21]]
# リスト形式
[1, 14, 13], [15, 21, 14], [24, 4, 21]]