【Python入門】指定した範囲内のすべての偶数を出力するプログラム
はじめに
本記事では、指定された範囲内に存在する偶数をすべて出力するPythonプログラムについて、その解法と考え方をわかりやすく解説します。
問題の概要
開始値と終了値で表される範囲が与えられたとき、その範囲に含まれるすべての偶数を出力することを目標とします。
基本的な解法アプローチ
最もシンプルな方法は、範囲内の整数を1つずつ走査し、偶数だけを抽出するというものです。具体的な手順は以下の通りです。
range()関数を使用したforループにより、入力区間内のすべての整数を順に取得します。- 各数値に対して「2で割った余りが0であるか」という条件判定を行い、奇数を除外します。
- 条件を満たした数値(偶数)のみを出力します。
この方法の計算量は O(n) に加えて、比較処理にかかる定数時間となります。
実装例
start, end = 10, 29
# 繰り返し処理
for num in range(start, end + 1):
# 偶数かどうかの判定
if num % 2 == 0:
print(num, end=" ")実行結果
10 12 14 16 18 20 22 24 26 28
上記のコードでは、すべての変数がグローバルフレーム内で宣言され、プログラム全体から参照可能な状態になっています。
効率を高めた別解
さらに効率化したい場合は、ループのステップ幅を「2」に設定する方法が有効です。最初の偶数から始めて2ずつ増加させることで、奇数の判定処理自体を省略でき、繰り返し回数を半分に抑えられます。
start, end = 10, 29
# 開始値が奇数なら次の偶数から始める
if start % 2 != 0:
start += 1
for num in range(start, end + 1, 2):
print(num, end=" ")この方法でも同じ出力結果が得られますが、判定処理が不要になる分、大きな範囲を扱う際に有利です。
まとめ
本記事では、指定した範囲内の偶数を出力する2つのアプローチを学びました。剰余演算による条件判定を使う基本手法は可読性が高く、ステップ幅を活用した手法は処理効率に優れています。用途に応じて使い分けることで、より良いコードを書くことができます。
-
文字列の中から偶数の長さの単語を出力するPythonプログラム
本記事では、与えられた問題を解決するための考え方と実装方法について解説します。Pythonの基本的な文字列操作を組み合わせることで、初心者の方でも簡単に実装できる内容となっています。 問題文 文字列が与えられたとき、その中に含まれる単語のうち、文字数が偶数であるものをすべて画面に表示するプログラムを作成します。 例えば、「tutorial point」という文字列が入力された場合、「tutorial」は8文字(偶数)なので出力され、「point」は5文字(奇数)なので出力されません。 解決のアプローチ この問題は、以下の手順で解決できます。 split()関数を使って、入力文字列を空白区切り
-
Pythonでフィボナッチ数を求める方法:再帰と動的計画法の2つのアプローチを徹底解説
本記事では、「n番目のフィボナッチ数を計算する」という問題に対する解決策と考え方を、2つの異なるアプローチ(再帰的手法と動的計画法)のコード例とともにわかりやすく解説します。 問題の概要 今回の課題は、n番目のフィボナッチ数を求めることです。 フィボナッチ数列 Fn は、次の漸化式によって定義されます。 Fn = Fn-1 + Fn-2 初期値(シード値)は以下の通りです。 F0 = 0、F1 = 1 この問題を解くには、主に次の2つの方法があります。 再帰的なアプローチ 動的計画法によるアプローチ アプローチ1:再帰的な手法 まずは、定義そのものをそのままコードに反映させた再帰的な実