Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Python・制御構文】 ~for文~②


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます!Shotaです。今日もPythonにまつわる記事を書いていきます。今日は昨日に引き続き「for文」の続きの説明をしていこうと思います。そして、記事の最後に制御構文「if文」「for文」を両方用いたプログラムを書く問題をこの記事を読んでいる皆さんに出題しようと思います!

 

【目次】

 

for文の応用その2――elseによる全データ取得後の処理

 for文は、コンテナから順番にデータを処理していき最後のデータを処理し終えたら次の文に抜けます。このデータが無くなったあとの処理は、for文で実行する処理とは別に処理を用意できます。「else」を使います。

使い方は以下の通りです。

 

for 変数 in コンテナ:

 (繰り返す処理)

else:

 (全データ取得後の処理)

 

このようにして、elseで全データを取得し終えたあとの処理を用意していきます。

具体的にどのような働きをするのか、以下のコードを試しに書いて実行してみましょう。

 

f:id:ShotaNukumizu_1000:20210418095632p:plain

 

▼実行結果

f:id:ShotaNukumizu_1000:20210418095653p:plain

 

forでは、辞書からキーワードと値を取り出してその内容をprintで出力しています。そして、全てのデータを取り出し終わったらelseのprintを実行していきます。出力された内容を見ていくと、全データを出力したあとでelseのprintが出力されていることがわかります。

 

問題(解答は来週土曜日)

今日まで「for文」と「if文」の基礎は終了しましたので、この記事を読んでいる皆さんに対して応用問題を出したいと思います。

 

【問題】

以下のようなプログラムを書き出して下さい。

 

◎まず1から500までの数字を順番に取り出す

◎取り出した数がもし7の倍数の場合は、7の倍数を入れるリストである「lst_a」に格納する

◎取り出した数がもし13の倍数の場合は、13の倍数を入れるリストである「lst_b」に格納する

◎取り出した数がもし7と13両方の倍数の場合は、「lst_c」に格納する

◎取り出し終えたら、それぞれ7の倍数と13の倍数のリストとわかるようにコマンドプロンプトに出力する(言い換えれば、「7の倍数リスト = 〇〇、13の倍数リスト = 〇〇」というようにprintで出力する)

 

解答のプログラムは来週の土曜日で出します。(解法が3つ存在することは前もって言っておきます)時間に余裕がある人は是非取り組んでみて下さい!

 

まとめ

【今日のまとめ】

  • forで処理するコンテナ内のデータをすべて処理した後、else:を書けばelseで全データを取得したあとの処理を書き出すことができる 

 

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

明日は日曜日なので、書籍解説をしていきます。取り上げる書籍は『バビロンの大富豪』です。

今日も最後まで読んでくださりありがとうございました!

 

 

【参考図書】

gihyo.jp