0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミング学習用にランダムな数値・配列を出力する

Posted at

プログラミングを学習する上で、テストデータとしてランダムな数値や数値等が必要となる場合がある。

学習を始めた頃は適当にタイピングしてみたり、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]]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?