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 投稿