-
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
-
Pythonで文字列が数字のみで構成されているかを判定する方法
Pythonで文字列が数字のみかどうかを確認する方法 Pythonでは、文字列が数字(0〜9)だけで構成されているかどうかを簡単に判定できます。代表的な方法として、組み込みメソッド isdigit() を使う方法と、正規表現を使う方法の2つがあります。 方法1:isdigit() メソッドを使う Pythonには標準で isdigit() という文字列メソッドが用意されています。文字列内のすべての文字が数字(0〜9)であれば True を返し、それ以外の場合は False を返します。 >>> string = 9764135408 >>> string.
-
PythonのNumPyで乱数を生成する方法を徹底解説
NumPyパッケージには、乱数の生成に役立つさまざまな関数が含まれた random モジュール が用意されています。この記事では、特に利用頻度の高い rand()、randn()、randint()、random() の4つの関数について、実際のコード例とともにわかりやすく解説します。 numpy.random.rand():一様分布の乱数配列を作成する numpy.random.rand() は、指定した形状(シェイプ)の配列を作成し、その要素を「0以上1未満」の一様分布から抽出されたランダムなサンプルで満たします。引数に配列の次元サイズを渡します。 >>> import
-
Pythonで複素数の剰余演算(モジュロ)はどのように機能するのか
Pythonにおいて、フロア除算演算子(//)と剰余演算子(%)の扱いは、バージョンによって大きく異なります。Python 3.xでは、これらの演算子を複素数に対して使用することはできません。一方、Python 2.7.xでは複素数に対してもこれらの演算が定義されており、実際に計算を行うことができます。Python 3での挙動:エラーになるPython 3.xで複素数同士に剰余演算子を適用すると、TypeErrorが発生します。>>> x=9+2j >>> y=2+1j >>> x%y Traceback (most recent call
-
Pythonで数値がオブジェクトとして扱われるのはなぜ?「すべてはオブジェクト」の設計思想を解説
Pythonでは数値もオブジェクトPythonには「プリミティブ型(基本型)」が存在しません。整数や浮動小数点数といった数値も含め、Pythonで扱うすべてのデータはオブジェクトとして実装されています。これはJavaなど、数値にプリミティブ型を持つ言語との大きな違いの一つです。つまり、Pythonにおける数値は単なる生の値ではなく、int型やfloat型といった組み込み型(built-in types)のインスタンスです。そのため、数値に対してもメソッド呼び出しや属性参照が可能であり、他のオブジェクトとまったく同じように変数に代入したり、関数の引数として渡したりできます。数値はイミュータブル(
-
Pythonでタプルから要素をランダムに選択する方法【random.choiceの使い方】
Pythonでタプルからランダムに要素を1つ選びたい場合は、標準ライブラリ random モジュールの choice() 関数を使うのが最も簡単な方法です。random.choice() は、タプルやリストなどのシーケンス(順序を持つオブジェクト)を受け取り、その中から1つの要素をランダムに返します。タプルはイテラブルなシーケンスなので、そのまま引数として渡すことができます。基本的な使い方以下は、タプルからランダムに要素を選択するサンプルコードです。>>> import random >>> t1 = (11, aa, 12.50, 77, xyz) >
-
Pythonで文字列からランダムに要素を選択する方法
random.choice()関数を使う Pythonで文字列からランダムに1文字(要素)を選択したい場合には、標準ライブラリのrandomモジュールに含まれるchoice()関数を使うのが最も簡単な方法です。この関数は、文字列だけでなく、リストやタプルなど任意のシーケンス型オブジェクトから、要素を1つランダムに取り出して返します。 基本的な使い方 >>> import random >>> string = TutorialsPoint >>> ch = random.choice(string) >>> ch n &
-
【Python入門】リストに存在しない乱数を選択・生成する方法
リストに含まれない乱数を選択する基本の考え方 Pythonで「指定したリストに含まれていない乱数」を取得したい場合、最もシンプルな方法は、範囲内の乱数を繰り返し生成し、その値がリストに存在しないことを確認できた時点で採用するというアプローチです。 乱数の生成には標準ライブラリ random モジュールの randrange() 関数を使用し、リストとの重複チェックにはメンバーシップ演算子の not in を使います。 実装例:while文で条件を満たすまで繰り返す import random l1 = [2, 4, 7] while True: x = random.randra
-
Pythonで範囲から要素をランダムに選択する方法|randrange()関数の使い方
randrange()関数とは Pythonのrandomモジュールに含まれるrandrange()関数を使うと、指定した範囲の数値の中からランダムに1つの整数を選択できます。乱数が必要なシミュレーションやゲーム開発など、さまざまな場面で活用できる便利な関数です。 関数の書式 randrange(start, stop, step) 各引数の意味は以下のとおりです。 start:範囲の開始値(省略した場合は0) stop:範囲の終了値(この値自体は範囲に含まれません) step:増分(省略した場合は1) 使用例 以下は、randrange()関数を使った具体的なコード例です。 >
-
Pythonのrandom.seed()とは?乱数生成器の初期化とシード値の役割を解説
random.seed()メソッドとは Pythonのrandomモジュールに含まれるseed()メソッドは、乱数生成器を初期化するための機能です。あらかじめシード値(種となる数値)を指定しておくことで、プログラムを実行するたびに同じ乱数列を再現できます。そのため、テストやデバッグ、結果の再現性が求められるシミュレーションなどで広く活用されています。 基本構文 random.seed(a, version) 引数「a」の挙動 第一引数であるaには、シード値として任意の値を渡します。指定内容によって以下のように動作が変わります。 aを省略した場合、またはNoneを指定した場合:現在のシステ
-
Pythonで0から9までのランダムな整数を生成する方法
Pythonでランダムな整数を生成したい場面は多くあります。例えば、サイコロのシミュレーション、くじ引き、テストデータの作成などが挙げられます。この記事では、標準ライブラリの random モジュールを使って、0から9までの範囲でランダムな整数を生成する方法を解説します。 randint() 関数を使う基本方法 random モジュールに含まれる randint() 関数は、指定した範囲内(両端を含む)からランダムな整数を1つ返します。0から9までのランダムな整数を取得するには、引数に 0 と 9 を指定します。 >>> import random >>>
-
Pythonでリストの要素をシャッフルする方法(random.shuffleの使い方)
Pythonには、乱数やランダム化に関連する機能をまとめたrandomモジュールが標準ライブラリとして用意されています。このモジュールに含まれるshuffle()関数を使うと、リスト内の要素の並び順をランダムに入れ替える(シャッフルする)ことができます。shuffle()関数は、引数に渡したリストそのものを直接書き換える「in-place」な動作をする点に注意してください。戻り値はNoneであり、シャッフル結果の新しいリストは返されません。>>> import random>>> l1=[aa,22,ff,15,90,5.55]>>> ra
-
Pythonでリストの要素をランダムにシャッフルする方法
random.shuffle()関数を使ったリストのシャッフルPythonの標準ライブラリにはrandomモジュールが用意されており、その中のshuffle()関数を使うと、シーケンス(リストなど)の要素をランダムな順序に入れ替えることができます。重要なポイントとして、shuffle()は元のリストを直接(in-place)並べ替えます。戻り値はNoneであるため、シャッフル後の結果を確認するには、元のリスト変数そのものを参照します。基本的な使い方>>> import random >>> l1 = [aa, 22, ff, 15, 90, 5.55] &g
-
Pythonのrandom.uniform()メソッドとは?使い方とサンプルコードを解説
random.uniform()メソッドの概要uniform()関数は、Python標準ライブラリのrandomモジュールに定義されている関数です。指定した数値の範囲内から、ランダムな浮動小数点数(float型)を1つ返します。引数には範囲の下限と上限を渡します。戻り値は、その範囲に含まれるランダムな実数となります。基本的な使い方まずrandomモジュールをインポートし、uniform()に最小値と最大値を指定して呼び出します。以下は、10以上100以下の範囲でランダムな浮動小数点数を生成する例です。>>> import random>>> random.u
-
【Python入門】再帰関数を使って10進数を2進数に変換する方法
10進数を2進数に変換する基本の考え方 10進数を2進数に変換するには、対象の数を2で繰り返し割り算をし、そのたびに得られる余りを記録します。そして計算が終わった後、余りを逆順に出力すると、それが目的の2進数表現になります。 この一連の処理は、再帰(リカージョン)を使うことで非常に簡潔に実装できます。以下がその再帰的な解法です。 再帰を使ったPythonコード def tobin(x): if x > 1: tobin(x // 2) print(x % 2, end=) num = int(input(enter a number)) tobin(nu
-
Pythonで行列を転置する方法をわかりやすく解説
行列の転置(transpose)とは、行列の行と列を入れ替える操作のことです。Pythonでは、行列は「同じ要素数を持つリストのリスト」として表現されます。ここでは、Pythonを使って行列を転置する基本的な方法を解説します。Pythonにおける行列の表現たとえば、3行2列の行列は次のようなリストオブジェクトで表せます。X = [[12,7], [4 ,5], [3 ,8]]この行列を転置すると、2行3列の行列になります。ネストしたループ(二重ループ)で転置する方法最も基本的な方法は、for文を入れ子にして行と列のインデックスを入れ替えることです。以下のコードでは、外側のループ
-
Pythonで行列を1行で転置する方法!NumPyのtranspose()の使い方
Pythonで行列(2次元配列)を転置したいとき、最も手軽な方法はNumPyパッケージに含まれるtranspose()関数を使うことです。ndarrayオブジェクトに対してこのメソッドを呼び出すだけで、行と列が入れ替わった転置配列を1行のコードで取得できます。NumPyのtranspose()で転置する基本例>>> import numpy as np>>> a = np.array([[1, 2], [3, 4]])>>> aarray([[1, 2], [3, 4]])>>
-
Pythonで2つの行列を乗算する方法をわかりやすく解説
2つの行列の乗算が成立するのは、1つ目の行列の列数と2つ目の行列の行数が一致する場合のみです。この条件を満たしていない行列同士は掛け合わせることができないため、計算前に必ず形状を確認しましょう。ネストしたループによる行列の掛け算Pythonでは、for文を入れ子にする(ネストする)ことで行列の乗算を実装できます。以下のプログラムでは、3行3列の行列XとYを用意し、その積となる結果行列も3×3の構造になります。計算の仕組みとしては、1つ目の行列の各行の要素と、2つ目の行列の対応する列の要素を順番に掛け合わせて合計していきます。サンプルコードX = [[1,2,3], [4,5,6],
-
Pythonで数値が素数かどうかを判定する方法
素数判定の基本的な考え方ここで紹介する方法の原理は、与えられた数を3からその平方根までのすべての整数で順に割っていくというものです。ある数の平方根は、その数が持ちうる約数の中で最大の候補となる値です。したがって、平方根を超える数については、割り切れるかどうかを確認する必要はありません。この関数は、2で割り切れる数や2未満の数に対しては False を返します。それ以外の数については、組み込み関数 all() を使い、平方根以下のいずれかの数で割り切れる場合には False(素数ではない)、どの数でも割り切れない場合には True(素数である)を返します。サンプルコードdef is_prime(
-
Pythonのabs()とfabs()の違いとは?絶対値関数の使い分けを解説
abs()とfabs()の基本的な違い Pythonには数値の絶対値を求める方法として、組み込み関数のabs()と、mathモジュールに定義されているmath.fabs()の2つがあります。どちらも符号を無視して数値の絶対値を返すという点では同じ役割ですが、いくつか重要な違いがあります。 1. 組み込み関数かモジュール関数か abs()はPythonに最初から組み込まれている関数のため、ライブラリやモジュールを読み込む必要がなく、すぐに使用できます。一方、fabs()はmathモジュール内で定義されているため、使用前にインポートする必要があります。 >>> abs(-45