Python問題集を解いてみよう!!

【Python問題集】No.3 3の倍数もしくは5の倍数、かつ15の倍数ではないものを求める

Python問題集No.3
目次

問題

1000以下の正の整数のうち、

  • 3の倍数 もしくは 5の倍数 である
  • 15の倍数ではない

上記を満たすものの総和を求め、表示させよ。

おすすめのレンタルサーバー

解答

解答を見る前に、一度ご自身で考え、コードを書いてみることをオススメします。

解説

この問題のポイントは次の3点です。

  • 倍数かどうかを判定する
  • range()関数を使ったfor文の書き方
  • if文の条件式の書き方

順番に見ていきましょう。

倍数かどうかを判定する

問題集No.1に奇数・偶数の判定がありました。

方法はこれと同じです。

偶数は2の倍数、奇数は2の倍数ではない数、ですね。

そのため、3の倍数 = 3で割った時の余りが05の倍数 = 5で割った時の余りが0、となります。

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

for i in num_list:
    if i % 3 == 0:
        print(i,'は3の倍数です。')
    if i % 5 == 0:
        print(i,'は5の倍数です。')

上記の実行結果

3 は3の倍数です。
5 は5の倍数です。
6 は3の倍数です。
9 は3の倍数です。
10 は5の倍数です。
12 は3の倍数です。
15 は3の倍数です。
15 は5の倍数です。

range()関数を使ったfor文の書き方

Python の for文では決まった回数ループさせたい場合などにrange()関数を使用します。

for i in range(5):
    print(i)

上記の実行結果

0
1
2
3
4

上記ではrange(5)を指定しました。

この場合、ループは5回繰り返されますが、iには0〜4が入ります。

iに1〜5を入れたい場合は次のようにします。

for j in range(1,6):
    print(j)
    

上記の実行結果

1
2
3
4
5

for文に関しては下記記事も参考にしてください。

if文の条件式の書き方

if文の基本的な書き方については下記記事を参考にしてください。

ここでは、if文の条件式に複数の条件を指定する場合の書き方をご紹介します。

2つの条件がある時の書き方を覚えてしまえば、あとはその組み合わせになります。

2つの条件のうち、どちらかを満たす場合の書き方

2つの条件がある時、どちらかを満たす場合の処理を書きたい場合(日本語だと「もしくは」という表現が使われる時)はor演算子を使います。

a = 123

if a < 10 or a >100:
    print('a は10より小さいか、100より大きい数です。')
else:
    print('a は10以上、100以下の数です。')

上記の実行結果

a は10より小さいか、100より大きい数です。

2つの条件のうち、どちらも満たす場合の書き方

2つの条件がある時、どちらも満たす場合の処理を書きたい場合(日本語だと「かつ」という表現が使われる時)はand演算子を使います。

b = 234

if b > 100 and b < 300:
    print('b は100より大きい、かつ、300より小さい数です。')
else:
    print('b は100以下、もしくは、300以上の数です。')

上記の実行結果

b は100より大きい、かつ、300より小さい数です。

Colab

解答例や解説のコードは Google Colaboratory で確認しています。

環境構築の不要な Google が提供している Webサービスなので、Python を学習中の方にはオススメです。

おわりに

今回の問題は LINE のオープンチャットに投稿されたものです。

今後も具体的な問題・課題の解説記事を増やしていきたいと思っています。

解説して欲しい問題・課題がありましたら、お問い合わせフォームからご連絡ください。

以上です。

スポンサーリンク

Python問題集No.3

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次