Javaにおける乱数生成の方法と各クラスの特性
Javaでは、Random、ThreadLocalRandom、SecureRandom の3つの主要なクラスを使って乱数を生成できます。それぞれ異なる用途や性能特性を持ち、適切に使い分けることが重要です。
擬似乱数生成器 Random
java.util.Random は最も基本的な乱数生成クラスで、指定したシード値に基づいて決定論的な数列を生成します。同じシードと呼び出し順序であれば、常に同じ結果が得られ ...
6月22日 20:32 投稿
Javaにおける乱数生成の手法と実装
Math.random()メソッド
このメソッドは0から1の範囲のdouble型の乱数を生成します。具体的には0 ≤ random ≤ 1の値を取ります。
for (int counter = 0; counter < 5; counter++) {
System.out.println(Math.random());
}
内部実装の仕組み
最初にこのメソッドが呼び出された際、実際にはnew java.util.Random()のように擬似乱数生成器が作 ...
6月21日 23:23 投稿
Python標準ライブラリの活用:ランダム処理・ファイル操作・データ直列化
randomモジュールによる乱数生成とデータ選択
Pythonのrandomモジュールは、様々なパターンの乱数を生成するための機能を提供します。
import random
# 0.0 以上 1.0 未満の浮動小数点数を生成
random.random()
# 指定範囲内の整数をランダムに選択(例: 1〜10)
random.randint(1, 10)
# 指定範囲内の浮動小数点数を生成(例: 1.5〜7.8)
random.uniform(1.5, 7.8)
# ...
6月19日 16:13 投稿
Numpyの練習:配列の生成と操作
練習1: 一維配列と二維配列の生成と形状の確認
import numpy as np
arr1 = np.array([1,2,'a','hello',[1,2,3],{'one':100,'two':200}])
arr2 = np.array([list(range(6)), list('abcdef'), [True, False, True, False, True, True]])
print(arr1, '\narr1のshape:', arr1.shape, '\n-------')
print(arr2, '\narr2のshape:', arr2.shape, '\n-------')
練習2: 起点が5、 ...
6月18日 20:03 投稿
PythonのUUID生成と利用
UUID(Universally Unique Identifier)は、128ビットの数値で表されるグローバルにユニークな識別子です。データベースの主キーや分散システムでの識別子など、様々なプログラミングシーンで使用されます。
Pythonには、UUIDを生成および操作するための組み込みモジュールuuidが用意されています。この記事では、uuidモジュールを使用してUUIDを生成し、その基本的な使い ...
6月3日 23:01 投稿
【プロジェクト実践】Python tkinterでランダム抽選アプリを作成する
筆者の知人である女性教師から「授業で使えるランダム指名ツールが欲しい」と相談されました。Excel名簿からデータを読み込み、GUIで操作できるアプリをPythonのtkinterで作成します。最終的な動作画面は以下の通りです(画像再現は不要のため割愛)。
データ処理
学校の名簿は通常Excelで管理されています。そこで pandas と openpyxl を利用してデータを読み込みま ...
5月27日 08:03 投稿
Pythonによる安全なランダムパスワード生成の実践例
パスワードはアカウントやデータを守るための重要な要素であり、十分な強度を持つことが求められる。本記事では、Pythonを用いて安全かつ多様なランダムパスワードを生成する方法を紹介する。
パスワードの要件
強力なパスワードには以下の特徴が求められる:
最低8文字以上
大文字・小文字・数字・記号(!@#$%など)を含む
辞書単語や連続・繰り返し文字を避ける
...
5月16日 22:24 投稿