-
PythonのPyEnchantで誤字の修正候補を取得する方法
文章を書いていると、うっかり単語の綴り(スペル)を間違えてしまうことはよくあります。このような問題を解決するために、Pythonには「Enchant」モジュールが用意されています。PyEnchantは主に単語のスペルチェックを行い、誤った綴りの単語に対して修正候補を提示するために使われるライブラリです。 また、ispell、aspell、MySpellなど、多くの定番スペルチェッカーのバックエンドとしても採用されており、複数の辞書や複数の言語を非常に柔軟に扱える点が大きな特徴です。 インストール方法 インストールは、コマンドプロンプト(ターミナル)で以下のコマンドを実行するだけです。 pip
-
【初心者向け】Pythonでリストをn個だけ右に回転させる方法3選
ユーザーが入力したリストと回転数(n)が与えられたとき、そのリストを指定した数だけ右方向に回転させるのが今回の課題です。 例えば、リスト [2, 4, 5, 12, 90] を 3 回転させると、末尾の要素が先頭に移動し、結果は [90, 12, 2, 4, 5] のようになります。このように「右回転」とは、リストの末尾から n 個の要素を取り出して先頭に移動する操作のことです。 実行例 Input A= [2, 4, 5, 12, 90] rotation number=3 Output [ 90,12,2, 4, 5] それでは、代表的な3つの実装方法を順番に見ていきましょう。 方法1
-
浮動小数点数を2進数(バイナリ)に変換するPythonプログラム
浮動小数点数の値と、出力に含める小数点以下の桁数が与えられたとき、その値を2進数(バイナリ)形式へ変換するのがこのプログラムの目的です。 基本の考え方はシンプルです。まず浮動小数点値から整数部を取り出して2進数に変換し、次に小数部を2進数に変換し、最後に両者を結合します。 変換アルゴリズムの流れ 入力された浮動小数点数を、整数部と小数部に分割する 整数部はPythonの組み込み関数 bin() を使って2進数へ変換する 小数部は「2倍して整数部分を取り出す」操作を指定桁数だけ繰り返し、各桁のビットを順に求める 整数部と小数部を小数点「.」で連結して完成させる 計算例 浮動小数点値:22.
-
Pythonで浮動小数点の10進数を8進数に変換する方法
浮動小数点形式の10進数と、小数部の桁数が与えられたとき、その値を8進数に変換するのが本記事の目的です。 変換の基本的な流れは以下の通りです。まず浮動小数点値から整数部分を取り出して8進数に変換し、次に小数部分を8進数に変換し、最後に両者を結合します。 変換の手順 ステップ1:整数部分の変換 整数部分を8で割り続け、商が8未満になるまで余りを記録していきます。そして、得られたすべての余りを並べることで8進数表現が完成します。これは一般的な「除算による基数変換」の手法です。 ステップ2:小数部分の変換 小数部分に対しては、逆に8を掛け続けます。掛け算を行うたびに整数部分を記録し、残った新しい小数
-
Pythonの正規表現を使ってテキストからメールアドレスを抽出する方法
本記事では、Pythonの正規表現パッケージ(reモジュール)を使用して、テキストファイルやURLテキストからメールアドレス(email-id)を抽出する方法を解説します。 手順はシンプルです。まず正規表現でメールアドレスのパターンを定義し、次にfindall()関数を使ってテキスト内からパターンに一致するすべての文字列を取得します。この手法は、問い合わせフォームのデータ処理やログ解析など、さまざまな場面で活用できます。 入力と出力のイメージ 入力: text = Please contact us at contact@tutorialspoint.com for further info
-
PythonでWebページをクロールして最頻出単語を抽出するプログラム
本記事では、Webページをクロールして単語の出現頻度をカウントし、最も頻出する単語を抽出するPythonプログラムを紹介します。 クローリングには requests モジュールと BeautifulSoup モジュールを使用します。これらのライブラリを組み合わせることで、シンプルなWebクローラーを作成し、対象ページからテキストデータを抽出してリストに格納することができます。 処理の流れ 指定したURLからHTMLソースコードを取得する BeautifulSoupでHTMLを解析し、本文部分(div要素)のテキストを抽出する テキストを小文字化・分割して単語リストを作成する 記号などの不要
-
Pythonで学ぶミンコフスキー距離の計算方法
ミンコフスキー距離とは ミンコフスキー距離は、ノルムが定義されたベクトル空間における距離計量(メトリック)の一つです。この距離概念は「ミンコフスキーの不等式」として知られる数学的性質に基づいており、機械学習やデータ分析の分野では、ベクトル間の類似度を測定するために広く利用されています。 ミンコフスキー距離の大きな特徴は、パラメータ p の値によってさまざまな距離を統一的に表現できる点です。 p = 1:マンハッタン距離(各成分の差の絶対値の合計) p = 2:ユークリッド距離(一般的な直線距離) p → ∞:チェビシェフ距離(最大差分) SciPyを使った計算方法 Pythonでは、Sc
-
PythonのNews APIでトップニュースを取得する方法【サンプルコード付き】
News APIは、世界中のニュースサイトから記事を検索・取得できる非常に有名なAPIです。このAPIを利用すれば、任意のニュースサイトから最新のトップニュースの見出しを簡単に取得できます。 ただし、News APIを使うにはAPIキーが必要です。APIキーはNews API公式サイトで無料登録すると発行できますので、事前に取得しておきましょう。 サンプルコード:BBCのトップニュースを取得する 以下は、Pythonのrequestsライブラリを使って、BBC Newsのトップニュースの見出しを番号付きで表示するサンプルコードです。 import requests def top_new
-
Pythonで画面(コンソール)をクリアする方法|os・subprocessモジュールを使った実装例
Pythonの対話型シェルやターミナルで作業していると、出力が次々と表示されて画面がごちゃごちゃになり、結果が読みにくくなることがよくあります。そんなとき、多くの人は Ctrl + L を使って画面をクリアしているでしょう。 しかし、Pythonスクリプトの実行中に画面をクリアしたい場合は少し工夫が必要です。Pythonには画面をクリアするための組み込みキーワードや関数・メソッドが用意されていないため、自分でコードを書く必要があります。 画面クリアを実装する手順 スクリプト内で画面をクリアするには、以下の手順に従います。 ステップ1: まず from os import system を記述
-
Pythonのmaketrans()とtranslate()関数の使い方を徹底解説
Pythonの文字列メソッド maketrans()とは maketrans()メソッドは、translate()メソッドで利用できる変換(マッピング)テーブルを作成するための静的メソッドです。1つの文字に対して、その変換・置換後の文字への1対1のマッピングを生成します。このメソッドは、各文字をUnicode表現に変換したうえでマッピングテーブルを作成します。 maketrans()メソッドの構文は以下のとおりです。 string.maketrans(x[, y[, z]]) y と z は省略可能な引数です。 maketrans()のパラメータ maketrans()メソッドには3つのパ
-
【Python】Tkinterで作るカラーゲーム – 30秒で文字の色を当てるGUIゲーム開発
GUIアプリケーションの開発において、Pythonの標準ライブラリ「Tkinter」は非常に人気が高く、初心者でも扱いやすいツールです。追加のインストール作業なしに使えるため、Tkinterを活用すればシンプルなGUIゲームでも手軽に開発できます。 この記事では、Tkinterを使った「カラーゲーム」の作り方を紹介します。このゲームでは、画面に表示される単語の文字色をプレイヤーが入力し、正解するたびにスコアが1点ずつ加算されます。制限時間は30秒で、使用される色は赤(Red)、青(Blue)、緑(Green)、ピンク(Pink)、黒(Black)、黄(Yellow)、オレンジ(Orange)、
-
Pythonで複数のファイル名を一括変更する方法【os.rename()活用】
Python3では、rename()メソッドを使うことで、ファイルやディレクトリの名前を簡単に変更できます。このメソッドは標準ライブラリのosモジュールに含まれており、追加のインストールなしですぐに利用可能です。 os.rename() の基本構文 os.rename(src, dst) 各引数の意味は以下のとおりです。 src: 名前を変更したい元のファイル(またはディレクトリ)のパス dst: 変更後の新しい名前を含むパス それでは、複数の画像ファイルが入ったフォルダを例に、一括でファイル名を変更する方法を見ていきましょう。ここでは、次のような画像フォルダを使用します。 入力(変更前の
-
PythonのOpenCVモジュールで画像に幾何学図形を描画する方法
はじめに OpenCVの基本操作のひとつが「画像への描画」です。線、円、矩形(長方形)など、さまざまな幾何学形状を画像上に追加できます。 画像解析の現場では、画像の一部を強調表示したい場面がよくあります。たとえば、注目したい領域を囲む矩形を追加したり、特定の場所を指し示す矢印を描いたりするケースです。本記事では、PythonのOpenCVモジュールを使って画像に幾何学図形を描画する方法を、サンプルコードとともにわかりやすく解説します。 主な描画関数一覧 cv2.line() … 画像に直線を描画する関数 cv2.rectangle() … 画像に矩形を描画する関数 cv2.circle()
-
PythonのOpenCVモジュールで画像を読み込む方法【cv2.imread()徹底解説】
PythonのOpenCVモジュールでは、cv2.imread()関数を使用して画像を読み込むことができます。画像パスを指定する際は、対象の画像が作業ディレクトリ内に存在するか、または画像へのフルパス(絶対パス)を指定する必要があります。 imread()の主な読み込みフラグ cv2.imread()関数では、第2引数にフラグを指定することで、画像の読み込み方式を選択できます。主なフラグは以下の3つです。 cv2.IMREAD_COLOR:カラー画像として読み込みます。画像に透明度(アルファチャンネル)情報が含まれていても無視されます。このフラグがデフォルト設定です。 cv2.IMREA
-
Pythonのダンダー(マジック)メソッドとは?__repr__や__add__の使い方を実例で解説
Pythonには、オブジェクト指向プログラミングにおいて便利な「技」を可能にするマジックメソッド(ダンダーメソッド)が用意されています。これらのメソッドは、名前の前後に二重のアンダースコア(__)が付いているのが特徴です。特定の条件が満たされたときに自動的に呼び出されるインターセプター(割り込み処理)として機能します。 代表的なものとして、__repr__はオブジェクトの「公式な」文字列表現を返す組み込みメソッドであり、一方の__str__は「非公式な」(人間が読みやすい)文字列表現を返す組み込みメソッドです。 基本例:通常のクラス定義 まず、マジックメソッドを定義していないシンプルなクラスを
-
Python・OpenCVでヒストグラム平坦化を実装する方法|cv2.equalizeHist()の使い方
ヒストグラム平坦化(Histogram Equalization)とは ヒストグラム平坦化は、画像処理において画像のヒストグラムを利用してコントラストを調整する手法です。 この手法は、多くの画像の全体的なコントラストを向上させる効果があります。特に、画像内の有効なデータが近いコントラスト値で表現されている場合に威力を発揮します。この調整を行うことで、輝度値がヒストグラム上により均等に分布するようになり、局所的にコントラストが低い領域でも高いコントラストを得られるようになります。 OpenCVの cv2.equalizeHist() 関数 OpenCVには、この処理を実行するための関数 cv2
-
Pythonで改行なしで出力する方法|print関数のend引数を使いこなそう
Pythonのprint()関数は、デフォルトでは出力の末尾に改行(\n)が自動的に追加される仕様になっています。そのため、単純にprint(変数名)と記述すると、出力後に自動的に次の行へ移動します。 デフォルトの動作例 まずは通常のprint()関数の挙動を確認してみましょう。 print(Tutorial) print(Tutorialspoint) 実行結果は以下のようになります。 Tutorial Tutorialspoint このように、2つのprint()文の出力がそれぞれ別の行に表示されます。 しかし場合によっては、改行せずに同じ行に続けて出力したいこともあります。例えば
-
PythonとOpenCVで実現する画像の加算とブレンディング
画像処理において、画像は行列(マトリクス)として扱われます。行列の中身は画像の種類によって異なり、二値画像(0と1)、グレースケール画像(0〜255)、RGB画像(各チャンネル0〜255)などがあります。したがって、2枚の画像を「加算する」ということは、対応する位置にある画素同士の行列を単純に足し合わせることを意味します。 OpenCVライブラリには、画像を加算するための関数 cv2.add() が用意されています。ただし、画像の加算を行う際は、2枚の画像のサイズ(幅と高さ)が同一である必要がある点に注意してください。また、cv2.add() は飽和演算(サチュレーション)を行うため、計算結果
-
Pythonのuuidモジュールを使ってランダムな一意ID(UUID)を生成する方法
UUIDは「Universally Unique Identifier(汎用一意識別子)」の略称で、Pythonの標準ライブラリとして提供されているモジュールです。128ビットのIDを扱うことができ、ランダムなオブジェクトに対して重複しない識別子を生成するために広く利用されています。 UUIDの主なメリット オブジェクトごとに一意なランダムIDを簡単に生成できる。 暗号化やハッシュ処理などのアプリケーションでIDとして活用できる。 ドキュメントやアドレスなど、さまざまなデータの一意な識別子として使用できる。 方法1:uuid1() を使ってIDを生成する uuid1() は、ホストのMAC
-
Pythonでフォトモザイクを実装する方法をわかりやすく解説
フォトモザイク(Photomosaic)とは、1枚の画像を正方形のグリッドに分割し、その各マスを別の画像や色のブロックに置き換える技法です。離れた場所から見ると元の画像がはっきりと見えますが、近づいて観察すると、さまざまな色の小さなブロックが集まって構成されていることが分かります。この記事では、Pythonの「photomosaic」というモジュールを使って、簡単にフォトモザイク画像を作成する方法をご紹介します。photomosaicモジュールのインストールまずは以下のコマンドでphotomosaicモジュールをインストールします。依存関係としてscikit-learnモジュールも同時にダウン