-
Pythonでリスト内の偶数と奇数を2つの異なるリストに振り分ける方法
Pythonでは、1つのリストに含まれる偶数と奇数を、それぞれ別のリストへ分けて格納することができます。最もシンプルな方法は、空のリストを2つ用意し、剰余演算子(%)を使って各要素が偶数か奇数かを判定しながら振り分けていくアプローチです。以下に具体的な実装例を示します。サンプルコードdef split_list(my_list): even_list = [] odd_list = [] for i in my_list: if (i % 2 == 0): even_list.append(i) else:
-
Pythonで2つのリストをマージしてソートする方法
2つのリストを1つに結合(マージ)し、さらに昇順にソートしたいケースはよくあります。Pythonでは、リスト同士を「+」演算子で連結し、組み込みの sort() メソッドを使うことで、シンプルに実現できます。 ここでは、2つのリストを受け取ってマージ・ソートした結果を返す関数の実装例を紹介します。 サンプルコード def merge_list(list_1, list_2): merged_list = list_1 + list_2 merged_list.sort() return(merged_list) list_1 = [20, 18, 9, 51, 48,
-
【Python】バブルソートでリスト内の2番目に大きい数値を見つける方法
バブルソートを使ってリスト内の2番目に大きい数値を求める場合、まずリストの要素を並べ替えるためのメソッド(ここでは「bubble_sort」)を定義します。並べ替えが完了したら、末尾から2番目の要素を返す「get_second_largest」などのメソッドを定義し、結果を取得します。 以下に具体的な実装例を示します。 サンプルコード my_list = [] my_input = int(input(Enter the number of elements...)) for i in range(1,my_input+1): b=int(input(Enter the element
-
【Python】最初の要素に数値、2番目の要素にその2乗を持つタプルのリストを作成する方法
数値を最初の要素とし、その2乗を2番目の要素とするタプルのリストを作成したい場合、Pythonではリスト内包表記を使うことで簡潔に実現できます。 サンプルコード my_list = [23, 42, 67, 89, 11, 32] print(The list is ) print(my_list) print(The resultant tuple is :) my_result = [(val, pow(val, 2)) for val in my_list] print(my_result) 実行結果 The list is [23, 42, 67, 89, 11, 32] The re
-
Pythonで完全平方数かつ桁の合計が10未満の数を範囲内から検索する方法
指定した範囲の中から、「完全平方数(ある整数の2乗になっている数)」であり、かつ「各桁の数字の合計が10未満」である数値をすべて検索したい場合、Pythonではリスト内包表記を使うことで簡潔に実装できます。本記事では、その具体的なコード例と動作の仕組みをわかりやすく解説します。サンプルコードlower_limit = int(input(下限を入力してください: )) upper_limit = int(input(上限を入力してください: )) my_list = [] my_list = [x for x in range(lower_limit, upper_limit + 1) if
-
リストの累積合計を求めるPythonプログラム ― i番目の要素が先頭のi+1要素の合計になる方法
リストの各要素が「元のリストの先頭からその要素までの合計」となる、累積合計(キュムラティブ・サム)のリストを作成する方法を紹介します。ここでは、リストを引数として受け取る関数を定義し、リスト内包表記を使って累積合計を計算します。 サンプルコード def cumulative_sum(my_list): cumulative_list = [] my_length = len(my_list) cumulative_list = [sum(my_list
-
Pythonで1から20までの乱数を生成し、リストに追加するプログラム
指定した範囲内で乱数を生成し、それらをリストに追加したい場合、乱数を生成して空のリストに append メソッドで順次追加していく関数を定義すると便利です。以下に具体的な実装例を示します。サンプルコードimport random def random_gen(beg, end, my_num): my_result = [] for j in range(my_num): my_result.append(random.randint(beg, end)) return my_result my_num = 19 beg = 1 end = 20
-
Pythonでタプルのリストを各タプルの最後の要素を基準に昇順ソートする方法
タプルのリストを、各タプルの最後の要素を基準として昇順に並べ替えたい場合があります。本記事では、リストを反復処理しながら要素を入れ替える(スワップする)独自のメソッドを定義し、この並べ替えを実現する方法を解説します。 サンプルコード 以下は、バブルソートの考え方を用いてタプルのリストを並べ替えるPythonコードの例です。 def sort_tuple(my_tup): my_len = len(my_tup) for i in range(0, my_len): for j in range(0, my_len-i-1): if (
-
分割統治法で最大部分配列問題を解くPythonプログラムの実装方法
本記事では、分割統治法(Divide and Conquer)を用いて最大部分配列問題(Maximum Subarray Problem)を解くPythonプログラムを紹介します。最大部分配列問題とは、配列内の連続する要素の合計が最大となる部分配列を見つける古典的なアルゴリズム問題です。以下に、実際の実装例を示します。サンプルコード sum_right_elements): sum_right_elements = sum_elements return max(sum_left_elements + sum_right_elements, sum_left_
-
Pythonでttkボタンの高さを変更する方法
Ttkは、tkinterの標準ウィジェットにスタイルを追加するモジュールで、さまざまなプロパティや関数を使って自由にカスタマイズできます。ttkボタンの高さを変更するには、grid(options)メソッドを使用します。このメソッドには複数の属性やオプションが用意されており、その中でもipadxやipadyといった内部パディング(内側の余白)の値を指定することで、ボタンのサイズを調整することが可能です。 サンプルコード 具体的な使い方を、以下の例で確認してみましょう。 # tkinterライブラリをインポート from tkinter import * from tkinter import
-
【Python】Tkinterとimg2pdfで画像をPDFに変換するアプリの作り方
はじめに Pythonはスクリプト言語であり、CSVからPDFへの変換、PDFからDOCへの変換など、さまざまなファイルコンバーターを手軽に作成できます。適切なライブラリを組み合わせれば、画像をPDFに変換するデスクトップアプリケーションも簡単に開発できます。 本記事では、画像のバイナリデータを解析してPDFへ変換するimg2pdfモジュールを使用します。これにGUI構築用のTkinterを組み合わせることで、画像を選択してPDFに変換できる直感的なアプリが完成します。 アプリ作成の手順 以下の手順に沿って進めていきます。 システムにimg2pdfがインストールされていることを確認します。タ
-
PythonでPDFをCSVに変換する方法|tabula-pyの使い方を徹底解説
Pythonは、膨大なパッケージライブラリを擁することで広く知られています。本記事では、これらのライブラリを活用して、PDFファイルをCSVファイルへ変換する方法を詳しく解説します。CSVファイルとは、行と列という形式で整理されたデータの集合体のことです。PythonのライブラリにはPDFをCSVに変換できるパッケージが複数存在しますが、ここではtabula-pyモジュールを使用します。tabula-pyの主要部分はJavaで実装されており、まずPDFドキュメントを読み込み、その内容をPythonのDataFrame、さらにJSONオブジェクトへと変換する仕組みになっています。tabula-p
-
Tkinterでプロンプトダイアログボックスを作成する方法
ダイアログボックスは、ユーザーに特定の操作を促したり、重要な情報を伝えたりするための便利なUI要素です。私たちは日常的にさまざまなアプリケーションでダイアログボックスと接しており、その使い勝手には馴染みがあるでしょう。Tkinterアプリケーションでは、メッセージ表示、ユーザー対話型ダイアログ、単一値の入力ダイアログ、ファイル選択など、目的に応じた多彩なダイアログボックスを作成できます。これらを実現するために、Tkinterにはmessagebox、simpledialog、filedialog、colorchooserといった組み込みモジュールが用意されています。実装例ここでは、ユーザーに選
-
【Python】Tkinterでフルスクリーンアプリケーションを作成する方法
Tkinterは、起動時にウィジェットやコントロールバーなどのアプリケーション部品を含むウィンドウを生成します。このネイティブな外観を持つ通常のウィンドウを、attributes(-fullscreen, True)メソッドを使うことで、簡単にフルスクリーンアプリケーションへと切り替えることができます。ウィンドウをフルスクリーン表示にするには、対象のウィンドウオブジェクトに対してこのメソッドを呼び出すだけで完了します。 サンプルコード # tkinterライブラリをインポート from tkinter import * # tkinterフレーム(ウィンドウ)のインスタンスを作成 win
-
Tkinterウィンドウの閉じるボタン([X])を無効にする方法
Tkinterのウィンドウコントロールアイコン(最小化・最大化・閉じるなど)は、ウィンドウマネージャによって実装されています。これらのコントロールアイコンの表示・非表示や動作の制御には、Tkinterに組み込まれた関数を利用できます。 特に、ウィンドウ右上の「×」ボタン(Exitアイコン)による終了操作を無効化したい場合は、protocol()メソッドを使用します。「WM_DELETE_WINDOW」プロトコルに対して空の関数(何もしない関数)を登録することで、閉じるボタンの動作を無効にできます。 サンプルコード #tkinterライブラリをインポート from tkinter import
-
PythonでPDFからハイパーリンク(URL)を抽出する方法
Pythonには、さまざまな処理に対応できる豊富なライブラリが揃っています。PDFからデータやメタ情報を抽出したいときに便利なのが、PyPDF2パッケージです。PyPDF2は使い方がシンプルで、PDFからのデータ抽出、ドキュメント内のキーワード検索、ハイパーリンクやURLなどのメタ情報の取得など、多彩な機能を提供しています。 この記事では、PyPDF2を使ってPDFドキュメントからハイパーリンクを抽出する方法を解説します。 ハイパーリンク抽出の手順 コマンドシェルでpip install PyPDF2を実行し、ローカル環境にPyPDF2をインストールします。 Pythonスクリプト内でPy
-
Pythonを使ってアプリケーションのバージョン情報を取得する方法
ソフトウェア業界では、開発者が新しい機能を追加したり、既存アプリケーションのバグを修正したりするたびに、そのアプリケーションに新しいバージョン名が付けられます。これにより、ユーザーはどの機能が最近更新されたのかを簡単に把握できるようになります。Pythonを使えば、任意のアプリケーションのバージョン情報を取得することが可能です。ここでは、実行ファイル(.exe)とやり取りするために pywin32 ライブラリを利用します。pywin32はWin32 APIへのアクセスを提供しており、COMオブジェクトの作成や操作も行えます。手順まず、コマンドシェルで pip install pywin32 と
-
Tkinterでボタンウィジェットのテキストを取得する方法 – cget()関数の使い方
Tkinterアプリケーションを開発していると、ボタンに設定されたテキストや名前といった値を、後からプログラム内で取得したいケースがあります。そんなときに便利なのが .cget() 関数です。 .cget() はすべてのTkinterウィジェットがサポートしているメソッドで、引数にオプション名を指定することで、そのウィジェットの構成情報(テキスト、色、フォントなど)を取得できます。 サンプルコード 以下の例では、まずボタンを作成し、そのボタンのテキストを変数「mytext」に格納します。続いて、この変数の値をLabelウィジェットを使って画面に表示します。 # tkinterライブラリをイン
-
Tkinterでルートウィンドウのサイズを変更する方法【geometry()メソッドの使い方】
Tkinterでは、geometry()メソッド(ジオメトリマネージャ)を使うことで、ウィンドウのサイズを簡単に設定・変更できます。この記事では、geometry()メソッドを使ってTkinterのルートウィンドウのサイズを変更する方法を、サンプルコード付きで解説します。geometry()メソッドの基本geometry(幅x高さ)という形式で引数を渡すと、指定した幅と高さに合わせてウィンドウがリサイズされます。さらに、geometry(幅x高さ+X+Y)のように画面上の座標を追加すると、ウィンドウの表示位置も指定できます。ここで「X」は水平方向(横)の位置、「Y」は垂直方向(縦)の位置を表し
-
Tkinterのttk.Entryウィジェットでフォントを変更する方法
アプリケーションでは、ユーザーに氏名、電話番号、メールアドレス、住所などの情報を入力してもらう場面が多くあります。Tkinterでは、Entryウィジェットを使うことで、このようなテキスト入力を簡単に処理できます。さらに、ttkパッケージを利用すると、Entryウィジェットにモダンなスタイルを適用することが可能です。Entryウィジェットのフォントの種類、文字サイズ、フォントスタイルなどのプロパティを変更したい場合は、font(フォントファミリー サイズ スタイル)属性を使用します。このfontプロパティは、Entryウィジェットのコンストラクタ内で直接指定できます。コード例# tkinter