よーじ通信

底辺社内ニートがプログラミングや役に立ちそうなネタを書いています

よーじ通信

【Python入門】プログラミング超初心者が0からはじめる入門編 vol.7

f:id:youji11410:20161226184612j:plain

知識ゼロの超初心者がプログラミング初挑戦でPythonをはじめました。第7回目は条件分岐について

スポンサーリンク
 

 

第10章 条件分岐について

10-1 シンプルな【if】

【if】というのは、中学の英語でやった、もしもの意味と同じように使います

もしも君が一人なら迷わず飛んでいくし、そうでなければ魔法がとける*1ときの【if】ですね

はい、気にしないでください

 

f:id:youji11410:20161226193913p:plain

 

whileループと同じように、ifがあって、条件が指定されます

条件は2>1で、正しいですね

なので、print "Hello"が機能し、表示されます

ということは、条件が正しくない場合は、表示されないのでは?

という仮定が立てられますね

試してみましょう

 

f:id:youji11410:20161226194451p:plain

 

はい、条件は2>3で、誤りなので、"Hello"は表示されません

 

つまり、ifのうしろにはTrueFalseが入ります

これらのtypeはブール値と言います

type()で調べてみてください

 

先程の条件をTrueやFalseに置き換えることができます

 

f:id:youji11410:20161226194712p:plain

 

また、vol.6でやったループと一緒に使うこともできます

 

f:id:youji11410:20161226195345p:plain

 

もし、2が1よりも小さかったら、Helloを5回繰り返してね、という命令文になります

 

f:id:youji11410:20161226195732p:plain

 

こちらは、10個の数字の入ったリストを作って、もしそれが5よりも大きくなったらループから抜け出してね、という命令になります

 

breakはループを抜けるというコマンド(命令)になります

 

10-2 複数の条件

条件分岐がでてくるといよいよプラグラミングっぽい~

それでは複数の条件の場合はどうなるかやってみましょう

 

3,000円以上お買い上げならば500ポイント

3,000未満1,000以上ならば300ポイント

1,000未満なら100ポイント と仮定すると次のようになります

 

f:id:youji11410:20161226200852p:plain

 

この先、この条件を使っていくので作業をラクにするため、白い部分に入力しましょう 

白い部分に入力したら【Excute】をクリックします

 

コマンドの内容ですが

money = 2500 を設定してあります

したがって、一行目の条件には当てはまりません

次の条件は 【elif】になっていますね

【elif】は「あるいは、もし~なら」という場合に使います

【if】に当てはまらない条件なので、次にこれを参照します

すると、この条件に当てはまっているので【print】の指令を受取り表示されています

 

では、1,000円未満に当てはまる条件にしてみます

money = 800とします

 

f:id:youji11410:20161226201247p:plain

 

すると、【if】にも【elif】にも当てはまらないので【else】の条件が適用されます

 

10-3 もれなく拾う

先程の条件では、1,000円未満は100ポイントと設定しましたが、それだと購入していなくても100ポイントがついてしまいます

そこで、もう一つ条件を付け加えます

 

f:id:youji11410:20161226201531p:plain

 

500円以上お買い上げで100ポイント、500円未満は0ポイントとしました

これで、全ての条件を拾うことができますね

 

では、10,000円以上の場合はボーナス500ポイントに通常3,000円以上のポイント500ポイントを付与するという条件にしてみましょう

 

最後の行に加えてみます

 

f:id:youji11410:20161226201945p:plain

 

500pointと返ってきました

つまり、さきほど加えた条件をスルーされたということですね

エラーということです

 

一番上に付け加えてみます

 

f:id:youji11410:20161226202121p:plain

 

反映されました

つまり、数字の大きいものから条件付けしていく必要があります

 

まとめ

今回は単純な条件でやってみました

有名なコピペが有りますね

 

 

“Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6!”
ある妻がプログラマの夫に「買い物にいって牛乳を1つ買ってきてちょうだい。卵があったら6つお願い」と言った。

A short time later the husband comes back with 6 cartons of milk.
夫はしばらくして、牛乳を6パック買ってきた。

The wife asks him, “Why the hell did you buy 6 cartons of milk?”
妻は聞いた「なんで牛乳を6パックも買ってきたのよ!」

He replied, “They had eggs.”
夫いわく「だって、卵があったから……」

 

 さて、正しく買い物して来てもらうためにはどんなコードにすればいいでしょうか?

 

スポンサーリンク

▼関連記事▼

【Python入門】プログラミング超初心者が0からはじめる入門編 vol.8

*1:DA PUMP if...より

© 2016 よーじ通信