Python くりかえし命令を使って数を表示する
以前の記事「Python 処理の流れを学ぶためのプログラム例(反復) - 勉強ボックス管理者ブログ」に,whileループ内にif文を記述して奇数だけを表示するプログラム例を記載しました。
上記記事でのプログラム例
i = 0 while i < 10 : if i % 2 != 0 : print(i) i = i + 1
このプログラムでは「%演算子」という剰余(割った余り)を求める演算子を使用して「2で割った余りが0ではない」という条件式を用いています。
上記例は,情報Ⅰではじめてプログラミングを学習する時点ではやや難しい記述でしたので,別のサンプルプログラムを示します。
プログラム例
偶数は,2で割り切れる数なので 2×整数 で表せます。
奇数は,偶数より1大きい数と考えて 2×整数+1 で表せます。
whileループで変数 i の値を0から9まで変更して,偶数と奇数を計算して表示するプログラムの例を示します。(2023-06-11 「0-10」の記載を「0-9」に訂正)
奇数だけを表示するプログラム
プログラム例
i = 0 while i < 10: print( 2*i+1 ) i = i + 1
実行結果
1
3
5
7
9
11
13
15
17
19
偶数だけを表示するプログラム
プログラム例
i = 0 while i < 10: print( 2*i ) i = i + 1
実行結果
0
2
4
6
8
10
12
14
16
18
※プログラミングとは無関係な余談ですが,数学で「偶数と奇数の和」のような問題を考えるときは,m,nを整数とすると,偶数は2m,奇数は2n+1と表せる のように別の文字を使いましょう。同じ文字で2nと2n+1とすると連続する偶数と奇数になってしまいます。
同様に「2つの奇数の和」なども 2m+1 と 2n+1 のように別々の数で考えましょう。
その他の方法
whileループで値を変えている変数 i の増分を1ずつではなく,2にする例です。
プログラム例
# 奇数だけを表示するプログラム i = 1 while i <= 20: print(i) i = i + 2
実行結果
1
3
5
7
9
11
13
15
17
19