目次
問題
自然数のリストを入力すると、そのリストから奇数をすべて削除したリストを出力するプログラムを作成せよ。
さらに、そのプログラムが正しく機能することを示す具体例を与えよ。
解答
解答例1
おすすめのPython参考書
解説
この問題のポイントは、
- 奇数・偶数を判別する
- 奇数の場合はリストから値を削除する
の2点です。
順番に見ていきましょう。
奇数・偶数を判別する
奇数か偶数かを判別する方法として最も一般的なのは2で割った余りをチェックする方法です。
余りが1なら奇数、余りが0なら偶数になります。
Python における余りを求める演算子は%
です。
2で割った余りの結果をもとにif
文を使用して条件分岐させます。
a = 144981 / 9
if a % 2 == 1:
print('a は奇数です。')
elif a % 2 == 0:
print('a は偶数です。')
print('a:',a)
上記の実行結果
a は奇数です。
a: 16109.0
奇数の場合はリストから値を削除する
続いて、リストからの値の削除です。
元々の問題は「奇数の場合はリストから値を削除する」ですが、今回の解答例では、
- 新しいリストを用意する
- 偶数の場合、新しいリストに追加する
とし、新しいリストに偶数だけ入れることで、元のリストから奇数を削除した新しいリストを作っています。
pop
メソッドやdel
文を使って、元のリストから奇数を削除することもできますが、今回は、新しいリストを作って、そこに偶数を追加する、という方法を取りました。
リストへの値の追加はappend
メソッドを使用します。
num_list = [1, 2, 3]
num_list.append(100)
print(num_list)
上記の実行結果
[1, 2, 3, 100]
Google Colaboratory
解答例や解説のコードは Google Colaboratory で確認しています。
環境構築の不要な Google が提供している Webサービスなので、Python を学習中の方にはオススメです。
おわりに
今回の問題は LINE のオープンチャットに投稿された、おそらくどこかの学校の課題です。
今後も具体的な問題・課題の解説記事を増やしていきたいと思っています。
解説して欲しい課題がありましたら、お問い合わせフォームからご連絡ください。
以上です。
コメント