【Python入門】1から50までの整数のうち、2または3で割り切れない数をすべて出力する方法
1から50までの範囲に含まれる整数のうち、2または3で割り切れないすべての数値を出力したい場合、whileループとif条件を組み合わせることで簡単に実装できます。
以下に具体的な実装例を示します。
サンプルコード
print("1から50までの整数のうち、2と3で割り切れない数は次のとおりです : ")
n = 1
while n <= 51:
if n % 2 != 0 and n % 3 != 0:
print(n)
n = n + 1
実行結果
1から50までの整数のうち、2と3で割り切れない数は次のとおりです : 1 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49
コードの解説
まず、変数
nに初期値として 1 を代入します。whileループは、nが 51以下 である限り繰り返し実行されます。ループ内の
if条件では、剰余演算子%を使って、その数値が 2でも3でも割り切れない かどうかを判定します(n % 2 != 0 and n % 3 != 0)。条件を満たす場合、つまり2でも3でも割り切れない数値であれば、その値がコンソールに出力されます。
判定のたびに
nを 1ずつ増加 させ、次の数値へと処理を進めます。
補足:forループを使った別の書き方
同じ処理は、for ループと range() 関数を使うことで、より簡潔に記述することもできます。
print("1から50までの整数のうち、2と3で割り切れない数は次のとおりです : ")
for n in range(1, 51):
if n % 2 != 0 and n % 3 != 0:
print(n)
range(1, 51) は1から50までの整数を順に生成するため、カウンター変数の更新を自分で書く必要がなく、コードの可読性が向上します。初心者の方には、こちらの書き方をおすすめします。
まとめ
本記事では、Pythonを使って1から50までの整数のうち、2または3で割り切れない数値を抽出して出力する方法を紹介しました。剰余演算子 % による割り切れるかどうかの判定は、プログラミングの基礎的なテクニックの一つです。whileループとforループの両方の書き方を理解しておくと、さまざまな場面で応用できます。
-
指定した範囲内のすべての素数を出力するPythonプログラム
この記事では、以下の問題文に対する解決方法について学んでいきます。 問題文 ある区間が与えられたとき、その範囲内に含まれるすべての素数を求めて出力する必要があります。 ここでは、素数の基本的な定義に基づいた全探索(ブルートフォース)によるアプローチを紹介します。素数とは、「1とその数自身のみを約数として持ち、それ以外の数を約数に持たない自然数」のことです。 この定義に基づき、各数値が素数の条件を満たしているかどうかを判定し、条件が真(True)と評価されるたびに出力処理を行います。 それでは、実際の実装例を見ていきましょう。 実装例 start = 1 end = 37 for val in
-
指定された文字列のすべての順列を出力するPythonプログラム
本記事では、以下の問題に対する解決策について詳しく学んでいきます。 問題文 1つの文字列が与えられたとき、その文字列から作成できるすべての順列(並べ替えの組み合わせ)を表示する必要があります。 それでは、以下の実装例で具体的な解決策を見ていきましょう。 実装例 # リストを文字列に変換 def toString(List): return .join(List) # 順列の生成 def permute(a, l, r): if l == r: print(toString(a)) else: for i in range(l, r +