【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。言語から探す場所から探す条件から探すrsstwitterfacebook案件獲得できなかったら全額返金!未経験からプロのエンジニアスキルを身につけ、フリーエンジニアとして稼げるまで徹底サポート。プログラミング初心者向け技術系ノウハウ・まとめTweetPocketプログラミングの基本は「条件分岐」と「繰り返し」からなります。while文で行い、条件分岐にはif文を使います。他の言語ではswitch文という機能もありますが、Pythonではシンプルにif文のみが用意されています。今回はfor文での繰り返し文の書き方について記述します。while文、if文の使い方については別の記事にまとめていますので、下からご覧ください。繰り返しという意味では同じのfor文とwhile文ですが、その違いはfor文では繰り返しの制御に関する条件を全て1文にまとめることです。そのため、初期化、継続の判定、変数の更新処理が単純なら、一目で全部に目を通せるfor文の方が好まれ、逆に複雑な場合はwhile文が好まれます。for-else文Pythonのfor文とは?for文の構文は以下のようになります。条件:処理A処理B処理Cfor文の流れは原則、「データの集まり」から、「データを一つずつ取り出す」という流れです。「データの集まり」部分には、様々なオブジェクトを置くことが可能です。自分で作成したクラスも、ある一定のルールを守ればそこに置くことができます。「変数」は、データの集まりから取り出したオブジェクトにアクセスするための名前です。k」や、「index」「counter」等の名前が、「文字列から1文字ずつ取り出す」ならば「char」、「データベースやテキストファイルから1行取り出す」場合は「row」等の名前がよく使われます。’Hello’という文字列を一文字づつ取り出し表示する処理は以下のようになります。'Hello':print(char)<実行結果>Hello終了これは、まず「Hello」の「H」がcharという変数名に代入されます。print(char)で、最初は「H」と表示されます。次は「e」がchar変数に渡されてprint(char)で表示され、その後e、l、l、oと同様の処理が行われます。以下は、全て「データの集まり」部分に置くことができます。繰り返し処理で一番多いのは、「指定回数繰り返す」という処理でしょう。Pythonのfor文では、「range関数」と呼ばれるものを使います。5回繰り返すfor文のサンプルは、以下のようになります。分かりづらいと感じる方も多いのですが、最初にiに入るのは0です。0、1、2、3、4が順番に表示されます。これが嫌だ、ということであれば以下のようにできます。6):print(i)<実行結果>12345終了もし1から100までループを行うならば、range関数は以下のようになります。繰り返し処理を行いつつ、ある条件によって処理を変えることは非常によくあります。1から10まで繰り返し、3の倍数のときだけ表示する処理を書いてみます。0:print(i)<実行結果>369終了もちろん、elifやelse等も書くことができます。for文の中であっても、if文の機能は特に変わりません。break-continue文whileループと同様に、brakeでのループの中止や、continueでの次のループへのジャンプもサポートされています。次のサンプルコードは、リストの中から「python」という文字列を探し、一致していれば「OK」と表示しループを抜け、そうでなければ文字列を表示します。一致したので、breakで抜けるprint(string)実行結果rubyOK終了breakでループを抜けたので、以降の文字列は表示されていません。continueで同じ動作をするものを作ると、以下のようになります。一致していないので、次のループへprint('OK')break処理にもよりますが、continueはそこまで使用頻度も高くないため、breakを覚えておけば基本的には問題ありません。for-else文while文と同様、elseも使うことができます。以下は、テストの点数をまとめたリストがあり、70点以下がなければ「合格」と表示されます。70:breakelse:print('合格')このelseブロックには、breakがない場合のみ入る、と覚えると混乱せずに済みます。今回は70点以下がなくbreakはなかったため、elseブロックに入り「合格」と表示されました。一度もループしなくてもelseに入る点に注意です。今回の例であれば、テストを受けてなくても(リストが空でも)合格になります。for-else文は意味が直感的でなく、敬遠する方も多くいます。分かりづらければ、無理に使う必要はないでしょう。投稿者:プログラミング教育ナビ編集部tweetプログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。人気の記事まだデータがありません。【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。