超初心者向けPython入門講座

仕事の効率化などにpythonを使いたい!けど何から始めらばよいか分からない、といった初心者の方向けに、pythonの導入から実用的な使い方まで、極力分かりやすくまとめたサイトです。

python Python初心者講座

第8章 Pythonの演習問題(解答編)

投稿日:2020-04-14 更新日:

この章では、7章の「Pythonの演習問題を解いてみよう」で出題した演習の解答コードと、その解説を行っていこうと思います。

※ただし、解答コードはあくまで一例であり、出力があっていればそのコードも正解です。

 

演習問題1の解答

解答コード

for i in range(1,31):
    print(i)

解説

第4章で学んだループ処理の「range」を用いる問題でした。ポイントは、「1から始める」ことと、「30まで出力するためには31個の数字が必要」というところですね。

※ちなみに、今回変数は「i」を使っていますが、好きなもので構いません。

 

演習問題2の解答

解答コード

for i in range(1,11):
    if i <= 5:
        print('数字が対象外です')
    else:
        print(i)

解説

1~10までの数字を出力する方法は、演習問題1と同じです。そして、そのループ処理の中に、条件分岐「if i <= 5:」を追加することで、「i」が5以下の時の処理を分けることができます。

ループ処理と条件分岐を組みまわせるには、このような形をとります。図で解説すると下のような形です。

※インデントの数が重要となります。

 

演習問題3の解答

解答コード

list1 = ['a','b','c','d','e']
for nam in list1:
    print(nam)

解説

「list」の作成は、「[]」でくくることで作成できると3章で解説しましたね。そして、listを用いたループ処理を行うことで、listの中身を順番に出力することが出来ます。

 

演習問題4の解答

解答コード1

list1 = ['a','b','c','d','e']
for nam in list1:
    if nam != 'b':
        if nam != 'd':
            print(nam)

解答コード2

list1 = ['a','b','c','d','e']
for nam in list1:
    if nam != 'b' and nam != 'd':
        print(nam)

解説

演習問題3と同様に、listを用いたループ処理を行いますが、更に条件分岐もあわせて使うことで問題を解くことができます。解答コード1、解答コード2のどちらも正解ですが、2の方がシンプルですね。

解答コード2の書き方はまだ学んで居ないので、1のように書けていれば問題ありません。解答コード2の書き方は以下に解説しておきます。

解答コード1」について

条件分岐は、「解答コード1」のように、条件分岐のif文の中に、更にif文を入れることも可能です。3行目の「if nam != ‘b’:」でbを除外し、更に4行目の「if nam != ‘d’:」で、dを除外するといった流れです。

「解答コード2」について

条件分岐は、「解答コード2」のように「and」を間に入れることで複数の条件を設定できますまた、そのほかにも「or」を入れることでも複数の条件を設定できます。

「and」と「or」は、以下の違いがあります。

  • 「and」は条件にすべて当てはまる場合
  • 「or」は条件のどちらか一方だけでも当てはまる場合

 図にすると、以下のようなイメージです。

 

演習問題5の解答

この問題は、今まで学んだことをすべて組み合わせることで解くことができます。解答コードを見ると、意外と短くて「こんなに簡単に書けるんだ」と思うかもしれません!では、以下の解答コードを確認してください。

解答コード

for i in range(1,101):
    if i % 15 == 0:
        print('FizzBuzz')
    elif i % 3 == 0:
        print('Fizz')
    elif i % 5 == 0:
        print('Buzz')
    else:
        print(i)

解説

この問題で重要になるのは、「割り切れる=あまりが0になる」という発想ができるかどうかです。では、解説していきます。

まず1行目で、ループ処理を用いて数字の1~100をループさせます。

そして、2行目では、「15の倍数」すなわち、「15で割り切れる数字」=「15で割ったあまりが0になる」時に、「FizzBuzz」と出力する、といった条件を設定しています。

ここまで出来れば、あとは「elif」を用いて、それぞれ「3の倍数」の時と、「5の倍数」の時を条件分けしてあげれば完成です。

 

ただし、今回は条件分岐の順番も大切で、先に「15の倍数」の処理を行わなければなりません。なぜなら、「3の倍数」または「5の倍数」の時に、「15の倍数」も条件に入ってしまうからです。

:
13
14
15 ← 「3の倍数」であり、「5の倍数」であり、「15の倍数」
16
:

 

まとめ

さて、皆さん演習問題は解けましたか?解けなかった方も、落ち込まなくて大丈夫です!今回の解答と解説を読んでしっかり理解していきましょう!

>>前回:第7章 Pythonの演習問題を解いてみよう

>>次回:第9章 Pythonの入力(input)を使ってみよう

スポンサーリンク




スポンサーリンク




-python, Python初心者講座
-,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

pyinstallerを使ったPythonのexe化(重くならない方法)

今回は、「pyinstaller」を使ってPythonをexe化して配布できるようにする方法について解説したいと思います。 Pythonをexe化することで、Pythonの環境を構築していない人でも使 …

2次元平面分布図における範囲外の凡例や色合いの設定(Python)

今回は、Pythonで平面分布図を作成する際の色合いや、凡例の設定、また凡例の範囲外の色の設定について解説したいと思います。 解説内容 平面分布図の色合いの設定 平面分布図の凡例の設定 平面分布図にお …

仮想環境でのSpyder利用法と実行場所

Pythonの仮想環境で「Spyder」を使うには、注意点があります。ここでは、仮想環境でのSpyderの使い方について解説したいと思います。 また、あわせて仮想環境を任意の場所で起動する方法について …

Pythonで桁数やゼロ埋めを行う方法(format)

今回は、pythonで「format」を用いて、数字や文字の桁数をそろえたり、ゼロ埋めする方法について解説します。 解説内容 formatの基本的な使い方と桁数指定 ゼロ埋めの方法 文字列との組み合わ …

第15章 Pythonでグラフを作成してみよう(matplotlib)

この章では、いよいよPythonを使ったグラフの作成について解説したいと思います。 解説内容 matplotlibの使い方を学ぼう 簡単なグラフを作成してみよう グラフにタイトルや軸ラベルを表示させよ …

スポンサーリンク


初めまして、サイトを運営しているキユと申します。

このサイトでは、まったくの初心者がPythonを使って、単純作業や仕事を効率化できるようになるまでに必要なことをまとめています。