Python

スポンサーリンク
Python

Python | Pythonの標準ライブラリで二分探索を簡単に使う方法(bisect モジュール)

要点Python標準ライブラリの bisect モジュールを使うと、ソート済みリストに対して二分探索を簡単に実行できます。bisect_left や bisect_right を使えば、値を挿入すべき位置を高速に求められます。bisect ...
Python

Python | 線形探索(break を使う) vs 二分探索アルゴリズムの比較

リストや配列から特定の値を探すとき、線形探索と二分探索は代表的な方法です。ここでは break を使った線形探索と、より効率的な二分探索を並べて比較します。1. 線形探索(break を使う)def linear_search(data, ...
Python

Python | break を使ったコード vs 使わないコードのパフォーマンス比較

大きなリストを検索する場合、break を使うかどうかで 処理時間 に差が出ます。1. break を使った場合(早期終了)import timedata = list(range(10_000_000)) # 1000万件のリストtarg...
Python

Python | break を使った方が読みやすい典型パターン vs 避けるべきパターン

「ここで終わり!」を明示できるのが break の強みですが、乱用すると逆に読みにくくなります。コード例で対比してみましょう。使った方が読みやすい典型パターン例1: 探し物が見つかったら即終了# break を使うと意図が明確numbers...
Python

Python | break を避けるべき場面(可読性・設計の観点)

break は便利ですが、乱用するとコードが読みにくくなったり、意図が分かりづらくなることがあります。以下のような場面では なるべく使わない方が良い とされています。1. 複雑な入れ子ループの中問題点: break が「どのループを抜けるの...
Python

Python | break を使わずに同じことを実現する方法(フラグ変数や関数の return を使う)

break は便利ですが、必ずしも使わなくても同じことを実現できます。ここでは フラグ変数 と 関数の return を使った方法を比較してみましょう。1. フラグ変数を使う方法ループを最後まで回すけれど、「見つかったかどうか」をフラグで管...
Python

Python | break を使うべき典型的なケース集(初心者向け)

break は「ループを途中で強制終了する」ための命令です。どんな場面で役立つか、具体例をまとめます。1. ユーザー入力で終了条件を決めたいときケース: ユーザーが「終了」と入力したら処理を止めたい。while True: text = i...
Python

Python | not + and / or を組み合わせた実務でよく使うパターン

「not と and / or の組み合わせ」は、実務コードでよく出てくるけれど、初心者には少し読みにくいパターンです。ここでは よくある実務的な利用例 を整理してみます。よく使うパターン1. 「どちらでもない」条件休日でもなく、雨でもない...
Python

Python | 実務でよくある読みやすい書き方のリファクタ例(not を使った悪い例 → 改善例)

「notを使った条件式」は初心者がよく書きがちですが、実務では読みづらさにつながることが多いです。ここでは 悪い例(読みづらい) → 改善例(読みやすい) を具体的に示します。よくあるリファクタ例例1:年齢制限チェック悪い例(notを使って...
Python

Python | テストデータを外部ファイルにして、CI/CDで環境ごとに切り替える方法(例:開発用と本番用で別データ)

実務では「開発用と本番用でテストデータを切り替える」仕組みをCI/CDに組み込むことで、環境ごとに適切なテストを自動実行できます。基本の考え方テストデータを外部ファイルに分ける例:test_cases_dev.json と test_cas...
Python

Python | 外部ファイルを使ったパラメータ化テストをCI/CDパイプラインに組み込む方法

外部ファイル(CSVやJSON)にまとめたテストケースを CI/CDパイプラインに組み込む方法を、初心者向けに整理してみます。全体の流れテストケースを外部ファイルに保存(CSVやJSON)pytestなどで読み込むコードを書く(前回の例のよ...
Python

Python | テストケースを外部ファイル(CSVやJSON)にまとめて読み込む方法

複雑な条件チェックをテストするとき、テストケースを外部ファイル(CSVやJSON)にまとめて管理すると便利です。これにより、テストコードとテストデータを分離でき、追加や変更が簡単になります。方法1:CSVファイルを使う例:test_case...
Python

Python | 複雑な条件をテストデータ駆動(パラメータ化テスト)でまとめる方法

複雑な条件をテストするときは「テストデータ駆動(パラメータ化テスト)」を使うと、同じテスト関数で複数のケースを一気に確認できます。Pythonでは pytest の @pytest.mark.parametrize がよく使われます。基本の...
Python

Python | 複雑な条件をテストしやすくする工夫(ユニットテストや条件分解)

複雑な条件は「動けばいい」だけではなく、テストしやすい形に分解することが大事です。実務ではユニットテストを組みやすくするために、条件式を整理する工夫がよく使われます。工夫1:条件を関数に分解する長い条件をそのまま書くとテストが難しいので、小...
Python

Python | 複雑な条件を読みやすくするためのテクニック(関数化や早期return)

複雑な条件式はそのまま書くと「何をチェックしているのか」が分かりにくくなります。実務では 関数化 や 早期return を使って読みやすく整理するのが定石です。テクニック1:関数化して名前で意味を伝える長い条件を直接書くより、関数にまとめて...
Python

Python | 「and と or を組み合わせた複雑な入力チェック」の例

実務では「and」と「or」を組み合わせて、複雑な入力チェックを行うことがよくあります。初心者向けに分かりやすい例をいくつか紹介します。例1:年齢と会員ステータスのチェック「18歳以上 かつ 会員登録済み または 招待コードを持っている人だ...
Python

Python | and / or を組み合わせた複雑条件の読み方

初心者が いちばんつまずきやすい「and と or の組み合わせ」 を、図解・具体例・読み方のコツ つきでわかりやすく説明する。and と or が混ざると、文章でもコードでも「どっちが先に判定されるの?」「どう読むの?」となりやすい。まず...
Python

Python | 論理演算子まとめ表(図解つき)

初心者でもひと目でわかるように、論理演算子(and / or / not)を図解つきでまとめた表を紹介します。1. and(〜かつ〜)イメージ図[ 条件A ]───OK? \ \ 両方OKなら True /[ 条件B ]───OK?ルールA...
Python

Python | 実務レベルの「条件チェックテンプレート」集

「条件チェックテンプレート集」として、実務でよく使うパターンを整理してみました。初心者でもすぐ応用できるように、入力チェック・エラーハンドリング・条件分岐改善の観点でまとめます。入力チェック系テンプレート1. 必須入力チェックif not ...
Java

Java | 三次元版ライフゲーム(セルオートマトン)

三次元版ライフゲーム(セルオートマトン)の例題「ライフゲーム」は二次元の格子でよく知られていますが、三次元に拡張すると「立方体の中で細胞が生きたり死んだりする」シミュレーションになります。初心者向けに、シンプルなルールで例題を作ってみましょ...
Python

Python | 月ごとに売上推移グラフを描く

標準ライブラリで月ごとの売上を集計し、グラフ描画には matplotlib を使うのが定番です。CSVから「日付」と「金額」を読み込み、月単位に合計して折れ線グラフにすれば、売上推移を直感的に確認できます。1. 必要なライブラリcsv, p...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「商品ごとに売上トップの月を抽出」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「月ごとに売上ランキング」を出す実践例を紹介します。想定データ(sales.csv)日付,商品,数量,金額2025-11...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「商品ごとに売上トップの月を抽出」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、「商品ごとに売上トップの月を抽出」する実践例を紹介します。想定データ(sales.csv)日付,商品,数量,金額2025...
Python

Python | ネストを平坦化する練習問題セット

では、「ネストを平坦化する練習問題セット(10問)」を紹介します。すべて ifの入れ子構造 → 平坦化(リファクタ) の練習形式です。Q1:単純な2段ネストif x > 0: if x < 10: print("1桁の正の数です")if x...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「商品ごと × 日付ごと」にクロス集計する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「月ごと × 商品ごと」にクロス集計する実践例を紹介します。想定データ(sales.csv)日付,商品,数量,金...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「商品ごと × 日付ごと」にクロス集計する実践例

いいですね!ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVを「商品ごと × 日付ごと」にクロス集計する実践例を紹介します。想定データ(sales.csv)日付,...
Python

Python | 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVファイルを「日付ごとに集計」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections + datetime)だけ を使って、CSVファイルを「日付ごとに集計」する実践例を紹介します。想定データ(sales.csv)日付,商品,数量,金額2025...
Python

Python | 標準ライブラリ(pathlib + csv + collections)だけ を使って「複数のCSVを結合して集計」する実践例

ここでは 標準ライブラリ(pathlib + csv + collections)だけ を使って「複数のCSVを結合して集計」する実践例を紹介します。想定するデータ例えば、sales_jan.csv と sales_feb.csv があり、...
Python

Python | 標準ライブラリ(csv + pathlib + collections)だけ を使って、CSVファイルを「職業ごとの人数カウント」する実践例

ここでは 標準ライブラリ(csv + pathlib + collections)だけ を使って、CSVファイルを「職業ごとの人数カウント」する実践例を紹介します。サンプルデータ(people.csv)名前,年齢,職業田中,28,エンジニア...
Python

Python | レベル別練習問題:コメント

では、「Pythonコメントの書き方・docstring・TODO活用」をテーマにした全50問の練習問題集(自動採点用コード付き) を作ります。構成レベル1(基礎):Q1〜Q15 — コメント文の書き方と使い方レベル2(中級):Q16〜Q3...
スポンサーリンク