【Python講座3】 while,for,if文

さて、これまでPythonについて勉強してきましたが、いかがでしょうか??Pythonを本格的に勉強したい方に、いくつか学習サイトを紹介致します!

①Codecademy…自分でプログラムを書き問題を解いていく形式です!豊富なラインアップで、基礎の基礎から勉強出来ます。

②Aizu Online Judge…会津大学が主催しているオンライン教室。英語版、日本語版があります。書いたコードを送ると自動で正しいかエラーか結果を返してくれます。また、日本語のチュートリアルも豊富です。

③ドットインストール…3分動画で勉強出来るプログラミング学習サイトです。隙間時間がある時に動画を見て同じ通りにコーディングしてみましょう!あと、たまにどこまで勉強してきたか連絡通知が来たりします。

これらのサイトは他の言語のラインナップもとても豊富ですので、是非使ってみて下さいね!
今回は、データをどう扱っていくかについて見ていきましょう!前回リストというデータ構造、インデックスというデータの取得方法について見てきました。

取得したデータは実際には、どんな風に扱われるのでしょうか?

<プログラミング言語がやっていることは主に3つある>

プログラミング言語がやっていることは、主に3つあります。

①順次実行:上から順番に命令が実行される
②分岐:条件の真偽によって処理が分かれる
③反復:条件を満たしている間処理を繰り返す

この3つが主に行われているのです。
これは、どのプログラミング言語でも基本的に同じことをやっています。

では、実際に文字に起すとどうなるのか?Pythonのチュートリアルを見てみましょう。
例えば、こんな形があります。

例えば、10を越えない範囲でフィボナッチ数列を表示して欲しい時、

「bが10より小さい間」(while b < 10;)
「bを表示する」(print b)

とすれば、bは10を越えない数まで表示されます。もし、while b < 10;が無い場合どうなるかというと、、

1回きりで終わります。

ここで、whileは、式の値が真である間、同じ命令を繰り返し実行します。条件と反復ですね。

また、print bが実行された後にa,b = b, a+bが実行されます。なので、最初は加算されない値が表示されるのです。これは順次実行ですね!

こんな風にして、与えられたデータを用いて、自動処理が出来るのです。
同じようなものとしては、forがあります!

forも繰り返しの反復を行うことが出来ます。しかし、Pythonでは少し癖があるそうです。チュートリアルの文章を見てみましょう。
for文はシーケンス (文字列、タプルまたはリスト) や、その他の反復可能なオブジェクト (iterable object) 内の要素に渡って反復処理を行うために使われます。
via Pythonチュートリアル
簡単に言うと、データを箱と捉えて考えた場合、箱がある限り、一連の流れ作業をしてくれると考えるといいかも知れません。

最後にifを紹介します!(今回初めてifを使った宿題を出したいと思いますw)

ifは文字通り、「もしこの条件を満たしていたら、この命令を実行して!」というものです。条件分岐を行う為の構文なのです。

例えば、こんな形をとります。

最初に適当な値を入力してもらい、もしその値が0より小さかったら(if x < 0;)その値は0に変換されます。
最初のifの条件で間に合わない場合は、elifを使ってもう一つの条件を作って下さい。

0より大きかった場合、それ以外でもし0と等しかったら(elif x ==0;)、その値は'Zero'だよと表示されます。

書いた数が0以下でもない。となると、それ以外で1だったらどうか?(elif x ==1;) その値は'Single'だよと表示されます。

最後に、じゃあ全部ひっくるめてそれ以外だったらどうする?(else)と書くことが出来ます。それ以外だった時は1より大きい数になりますから、もっと大きい'More'を表示します。

上の内容をまずはコピー&ペーストして、ターミナルで表示してみて下さいね!あとは、一つのファイルにこれらのコードを保存して、python ファイル名と書くと、同じように実行されますので試してみて下さい!

次回は画像解析ですが、次のPython回までの宿題です!

今日紹介した、if,for,while文を使って、以下のように表示されるようにして下さい!