0から始める文系男子のプログラミング -Python-

文系の学生がプログラミングを学び、エンジニアの肩書きを持つ前の過程。

4章:while、条件分岐、関数を学ぶ

 

 

こんにちは。

 

 

と、あいさつをしてきましたが

これを書いている時間は

しっかり夜です。

 

当然投稿も夜。

 

なのであいさつは

こんばんは、が適当なのではないだろうか。

 

そう思い始めたゲンキです。

 

f:id:study-study-blog:20190324224120p:plain

↑:あいさつについて考えるゲンキ

 

 

あいさつをいえば

高校生の時は

演劇部に所属していたのですが

 

そこでのあいさつは

時間を問わず「おはようございます」でした。

 

なんでなんだろうね。

 

f:id:study-study-blog:20190324213146p:plain

 

目次

 

 

 

 

while

 

繰り返し実行するときに使える

もうひとつのやつ。

 

for決められた回数だけ

繰り返し実行するけど

 

whileは条件を満たしている限り

何回でも実行できるみたい。

 

 

使い分けが難しいね。

使っていけばそのうち慣れることを

期待しておこう。

 

total = 0

a = 1

while total <= 50

  total = total + a

  a = a + 1

print(total)

 

これくらいなら

一瞬も悩むことなく

書けるようになりたいね。

 

f:id:study-study-blog:20190324224526p:plain


 

a != b (aとbは等しくない)

非常に直感的ではない演算子

ノットイコールじゃあダメだったんか?

 

Python 創った人にクレーム入れてきますわ。

 

f:id:study-study-blog:20190324224642p:plain



 

繰り返しが終わった後のelse

 

elseは繰り返しが終わって

最後の一回だけ実行したい処理

を書くときに使う。

 

次に出てくる

ifのやつを混ざってカオスになりそう。

f:id:study-study-blog:20190324225225p:plain

↑こいつがカオス(FF参照)

 
 

 

if構文

ついに条件分岐。

いよいよプログラミングって感じ!

 

これ何回言ってんだおれ…。

 

 

if構文の書式

if 条件文:

 条件が成り立っているときに実行する文

else

 条件が成り立っていないときに実行する文

 

ここもインデント注意。

すでに何回かミスってるから

きっと今後もミスりまくるだろう。

 

初心者にミスはつきものだと思って

自分を許していこう。

 

f:id:study-study-blog:20190324225944p:plain

 

ありがとう、マイトガイ

 

 

論理演算子 and, or, not

これに != とか組み合わさってくると

頭がこんがらがってくる未来しか見えない。

 

(a == b) and (b != c) and (c != d)とか

連なってくるとややこしそう。

 

なんとなくでスルーせず

なるべく理解してから進もう。

 

でも、しばらく考えてもわからなかったら

潔く飛ばすことも忘れず。

 

 

 

elif ~ではない条件

else と if の合体という混沌。

なんとなく意味は理解できても

使えるようになるには

相当量の練習が必須かな…。

 

 

ループに終止符を打つ break

繰り返しをやめさせる break

ループものの主人公は

ぜひこれを崇拝してほしい。

 

f:id:study-study-blog:20190324221625j:plain

 

 

 

関数 

慣れたらすっごく便利そう。

長々と書かなければいけないものを

かなり短縮できる。

 

関数って公式みたいに

これはこういう機能、

って決まっているものが

いくつもあると思っていたんだけど

 

def 関数名:

 実行したい文

 

自分で名前も役割も決めるのね。

自由度が高くて逆に困っちゃう。

 

 

例をひとつ書いておこう。

 

def tashizan(a,b):

 total = 0

 for i in range(a,b + 1):

  total = total + i

 return total

 

return の存在意義が

未だにあいまい。

printじゃあだめなのか。

 

関数の結果を表示させるのは

return の役割なのかな?

 

違ったら指摘してほしい。

 

 

グローバルスコープとローカルスコープ

関数の内部だけで働く

変数の中身がローカル、

ということでいいのかな?

 

これであってるなら

直感的に理解しやすい。

 

今後間違えないとは言っていない。

 

 

ただ、グローバル宣言というやつをすると

ローカルは無視されるみたい。

 

気をつけよう。

 

 

機能拡張モジュール

import で突っ込める機能全般は

モジュールであると認識しておこう。

 

文字数が多いモジュールを

import モジュール名 as 略名

で短縮できるのはありがたい。

 

 

f:id:study-study-blog:20190324230252p:plain

 

 

 

終わりに

第4章はかなり長くなってしまった。

 

まあそれだけ学ぶことが多くて

復習に文字数が必要だったということで

どうか許してほしい。

 

…いや、許しを請う必要はないな。

何か悪いことをしたわけでもないし。

 

 

 

今回の章から

見出しをつけたり

プログラムのところは

なるべく忠実に色をつけるようにした。

 

このブログは

あくまで自分のアウトプット、

復習用ではあるけれど

 

なるべく読みやすく

読んでいてい面白いものにしたい

という気持ちはある。

 

 

意見や要望があったら

ぜひコメントしてほしい。

 

あなたの言葉を待っています。

 

 

 

 

次のページを少しのぞいた感じだと

次回は「数当てゲーム」というものを

つくることになりそうだ。

 

 

それでは、今回はこのへんで。

 

 

 終わり。