【Python基礎編】ペンギンを仲間にするためには三顧の礼では失礼なのか【for文で繰り返し処理】

みなさん、こんにちはケンケンです。

 

Pythonでプログラミングの基礎をご紹介しています。

前回は、if文を使った条件分岐についてお伝えしました。

前回記事

みなさん、こんにちはケンケンです。   Pythonを使ってプログラミングの基本事項をご紹介しています。   前回は、関数やデータ型などについてお伝えしました。 [sitecard subt[…]

 

今回は、for文を使った繰り返し処理の基本をご紹介します。

それでは、以下ご覧ください。

 

前回の復習

前回は、if文を使って条件分岐することができるようになりました。

具体的には、質問の答え方によって仲間にできる動物の種類が変わりましたね

コードと実行結果は以下の通りです。

question = input('動物は好きですか?>')
if(question == 'y'):
    question2 = input('哺乳類は好きですか?')
    if(question2 == 'y'):
        question3 = input('人懐こい動物が好きですか?')
        if(question3 == 'y'):
            print('犬を仲間にしよう!')
        else:
            print('猫を仲間にしよう!')
    else:
        print('ペンギンを仲間にしよう!')
else:
    print('残念です。一人で旅をしてください。。。')

 

条件選択によって結果が変わっていますね。

重要な部分なので何度も練習してすらすらコードを書ける状態にしておきましょう。

 

オブジェクトを理解し繰り返し処理を覚えよう~for文の基本~

それでは、早速for文についてみていきましょう。

for文を実際に書いてみよう

まず、もっともシンプルなコードを実行してみましょう。

 

ファイルを作成し、「ポケットアニマル_for.py」という名前にしました。

ファイルの作成とコードの実行方法ははこちらを参考にしてください。

▶ポケットアニマル_for.py

for cnt in range(7):
    print(cnt)

上記コードを実行すると0から6までの数字が出力されました。

これが、繰り返し処理のもっともシンプルな手法です。

それでは、ひとつずつ解説していきます。

for文の構成要素を学ぼう

▶for文の構文

for  変数 in  オブジェクト:

  繰り返したい処理

まず、オブジェクトについてですが、簡単に言うと「もの」のことです。

部品と言い換えてもよいかと思いますが、プログラムを構成する部品をオブジェクトと表現しています。

他にも似たような表現で「クラス」がありますが、少し違います。

 

クラスは、部品を作る製造ラインのようなもので、

そこから実際に作られたものをオブジェクト(インスタンスとも言う)と言います。

 

車を例にすると、工場の製造ラインが「クラス」で実際に作られた車が「オブジェクト」です。

では、for文で使うオブジェクトには何があるかと言うとRangeがそれにあたります。

Rangeは範囲を指定できるオブジェクトなので繰り返し処理をするオブジェクトとして適しています。

 

▶Range関数書式

range( 開始値 , 終了値 【 , ステップ 】)

range(0,7)とすると0.1.2.3.4.5.6が返ってきます。

0から数えて7つ目まで返ってくるので最終値は6になります。

range(7)とした場合は、終了値のみした状態で上記と同じ結果になります。

 

コードの解説

上記の知識を前提にコードを解説します。

まず、rangeオブジェクトからひとつ数字を取り出します。

最初の数字は0ですね。

その数字を変数cntに格納します。

さらに、print関数に変数cntに入った値を表示してもらい1回目の処理が終了します。

以下、rangeオブジェクトから数字を順に取り出して終了値まで同様の処理をします。

 

繰り返しの処理をする範囲はforから始まってインデントして書かれた行までです。

このかたまりのことをブロックと呼んでいますので覚えておきましょう。

 

ペンギンは何回誘うと仲間になってくれるかな?

繰り返し処理と前回勉強した条件分岐をミックスさせたコードを書いてみましょう。

今回は、ペンギンに協力してもらいます。

ペンギンは何回誘うと良い返事をくれるか聞いてみましょう。

コードを書いてみよう

まず、以下のコードを書いてください。

master = input('あなたの名前は?')#①
if(master):#②
    for cnt in range(1,6):#③
        print(master + 'はぺんぎんを' + str(cnt) + '回仲間に誘った')#④
    print('ぺんぎんはよろこんでついてきた')#⑤
else:
    print('名無しはひとりで旅を続けた')

 

コードの解説

①input関数を使って名前を入力し変数masterへ渡します。

 

②もし、masterに値が入っていたら(True)以下の処理を実行します。

 

③rangeオブジェクトの範囲を1~6に設定しています。

for文を使って1から順に数字を取り出し変数cntに渡します。

 

④print関数を使って連結した文字列を表示します。cntに格納されているデータは

文字列ではないのでstr()で文字列型に変更しています。

 

⑤繰り返し処理が終わったら、つまりブロックを抜けたら実行される処理です。

 

それでは、実行してみましょう。

条件によって繰り返し処理をする場合とそうでない場合を表現することができました。

 

それにしても5回も誘わないとペンギンは仲間になってくれないんですね(設定ですが・・)

三顧の礼でも足りないとは、この後の波乱の展開が待っていそうです。

 

まとめ

今回は、for文の基本と条件分岐をミックスした方法をご紹介しました。

 

数行のコードですが、幅が広がりやりたいことが実現しやすくなってきました。

次回は、さらに複雑な条件を追加して動物たちと交流を深めていきますのでお楽しみに。

それでは、また次回お会いしましょう。

次回記事

みなさん、こんにちはケンケンです。   Pythonの基本をお送りしています。 前回は、for文と条件分岐の基本をお伝えしました。 前回の記事は以下をご覧ください。 [sitecard subtitl[…]

 

Python基礎編記事一覧

プログラミング初心者がPythonを学んだ方が良い理由【インストールから簡単なプログラムまで】

【Python基礎編】データをうまく出力するには型にはめることが重要【データの型・演算子・関数を知る】

【Python基礎編】もし好きな動物を連れて行けたらあなたの選択は?【if文で条件分岐をマスター】

【Python基礎編】ペンギンを仲間にするためには三顧の礼では失礼なのか【for文で繰り返し処理】

【Python基礎編】人気者のペンギンでも即OKをもらえる方法【for文の続き・breakで処理を中断】