Pythonで数値を読み込み自然数の合計パターンを出力する方法
ユーザーから数値を入力として受け取り、自然数の合計のパターンを出力したい場合は、シンプルな「for」ループを使用することで簡単に実現できます。この記事では、具体的なサンプルコードとその動作原理をわかりやすく解説します。
サンプルコード
my_num = int(input("Enter a number... "))
for j in range(1, my_num + 1):
my_list = []
for i in range(1, j + 1):
print(i, sep=" ", end=" ")
if i < j:
print("+", sep=" ", end=" ")
my_list.append(i)
print("=", sum(my_list))
print()
実行結果
Enter a number... 5 1 = 1 1 + 2 = 3 1 + 2 + 3 = 6 1 + 2 + 3 + 4 = 10 1 + 2 + 3 + 4 + 5 = 15
コードの解説
入力の取得:
input()関数でユーザーから数値を受け取り、int()で整数型に変換します。外側のループ: 入力された数値まで1から順に繰り返し処理を行い、各行の出力単位を決めます。
リストの初期化: 各行ごとに空のリスト
my_listを用意し、合計値の計算に使用します。内側のループ: 1から現在の行番号までの数値を出力していきます。
区切り文字の制御: 内側のループ変数が外側のループ変数より小さい場合のみ「+」記号を出力し、行末に余分な「+」が付かないようにしています。
値の追加: 出力した数値は順次リストに追加されます。
合計の表示: 組み込み関数
sum()でリスト内の全要素の合計を計算し、「=」とともに出力します。
ポイントまとめ
このプログラムの鍵となるのは、print()関数のend引数です。デフォルトでは改行されるため、end=" "を指定することで同じ行に数値と記号を連続して出力できます。また、二重ループの構造により、1行目は「1」だけ、2行目は「1 + 2」というように、段階的にパターンが展開されていく仕組みになっています。
-
Pythonでひし形を描画・出力するプログラムの書き方
Pythonのループ処理(繰り返し構文)を活用すると、キーボードのさまざまな文字を使って、整形された図形を簡単に作成できます。その一例が「ひし形(ダイヤモンド形)」です。ひし形の出力には複数のループが必要になります。なぜなら、文字を縦方向と横方向の両方に出力しなければならないからです。さらに、図形は上端から中央に向かって徐々に大きくなり、中央から下端に向かって徐々に小さくなるという特徴もあります。このため、内側にもう1つのforループを含む、2つのforループを使用します。前半のループで上側(頂点から中央まで)を描き、後半のループで下側(中央から底辺まで)を描く仕組みです。サンプルコードdef
-
指定した範囲内で3と5の両方で割り切れる数をすべて出力するPythonプログラム
本記事では、与えられた整数Nの範囲内から、3と5の両方で割り切れる数をすべて出力するPythonプログラムを解説します。実装方法はいくつかありますが、どの方法でも共通して必要になるのが「その数が3と5の両方で完全に割り切れるかどうか」を判定する処理です。 3と5で割り切れる数を出力する基本コード 以下が、指定した範囲内で3と5の両方で割り切れる数をすべて出力するPythonコードです。 lower = int(input(下限を入力してください:)) upper = int(input(上限を入力してください:)) for i in range(lower, upper+1):