python基礎講座4

人工知能Ai 第4回 if

はいそれでは
人工知能Aiのプログラミング講座をはじまめます。
(テンション高めにお願いいたします。)

今回はif文の使い方について説明したいと思います。

今回もpythonを使ってAnacondaのspyderで説明致します。

まず、プログラムというのは上から下に向かって走ります、
プログム制御をしていると、途中で処理を分岐させたい場合があります、
If文はその時に使用するものです。

例えば a = 10 という変数を記載します。
●●●( a = 10 )と記載する

ここで、printで画面に出したいと思います、
この時に例えば a はプラスと記載してみます。
●●●( print(” a is Plus”) )と記載する
a は10 で正の整数ですので問題ありませんよね。
でこれで、実行しますと当然 a is Plusと表示されます。

ここで、先ほど宣言した、a の値プラス 10 をマイナス 10 に変更します。
●●●( a = ー10 ; )と変更する。
ただ、このまま実行してしまうと、
プリントで a is Plus と書いてありますので、当然 a is Plus と表示されてしまいます。

ここのままですと、a の値によってメッセージを変えることができません。
では、a の値によってメッセージを変えるにはどうすればよいかと言いますと、
答えはif文を使用することです。

実際に書いてみましょう♪( ´θ`)ノ
Ifと書きまして、条件文を記載します。
その後に条件を満たした場合に実行してほしい処理を記載します。
●●● if 条件:
●●● 条件を満たしている場合に処理したい内容

例えば、今回ですとこのように記載してみますと
●●● if a >=0 :
●●● print(” a is Plus”)
●●● print(”END”);

今回はa 大なりイコール ゼロ のような条件を書いてみます。

If文ではこの条件式を満たす場合、インデントされた処理を実行します、
しかし、条件を満たさない場合はこのインデントされた処理を飛ばした後から実行されます。

試しにこれで実行してみますと。
メッセージはENDのみしか表示されませんでした。

どういうことかと言いますと。最初に a には、マイナス 10 が代入されています。
そのあとに if 文が実行されるのですけれども、ここのif文の条件をみてみますと。
a はゼロ以上となっています。ですが実際には先ほども言いましたが a にはマイナス10 が入っているため
If文の条件を満しません、そのためインデントされた処理print(” a is Plus”);が実行されずプログラムは
If文のインデントされた処理を飛ばした後から実行されています。
ですので、表示は最後のprint(”END”)のEND表示のみとなっていました。

——————————————————————————————————(人工知能Ai完了)

ここで、試しにa の値をプラス10と変更して実行してみます。
●●●( a = 10 )と変更する。
そうすると、「 a is Plus」 と表示されました。

はい、このようにしてプログラム自体にif文で条件をつけることによって処理を分岐させることができます。

ここで新たにelse文を紹介致します。else文は特殊なものでして、
If文の直下につくものです。else文を使用したい場合は必ずif文のインデントの終わりの後に記載してください。
どういうものかと言いますと
実際に書いてみますと、
●●● if a >=0 :
●●● print(”a is Plus”)
●●● else :
●●● print(”a is minus”)
●●● print(”END”)
このように書きます。

else文では if 文の条件が満たされなっかた場合のみ
プログラムは else文 のインデントの処理を実行致します。
しかし、if文の条件が満たされていた場合はif文内のインデントの処理が実行されますので
else文内のインデントの処理は実行されず、else文のインデントの処理を飛ばした後から実行されます。

試しにこれで実行してみます。
はい、「 a is Plus」と「END」のみが表示されています。
どういうことかと言いますと、もう感の言い方はわかると思いますが

最初に a にはプラス10が代入されています。
その後に、if文が実行されるのですけれども、if文の条件式をみてみます。
条件式では a はゼロ以上となっています。今 a には 10 が入っていますので条件が成立しています。
ですので、if文内のprint(” a is Plus”);が実行されました。
その後のelse文は、if文の条件が満たされている時、実行されないというルールがありますので
else文内の処理は飛ばされ、最後のprint(”END”);が実行されました。
ですので、表示されたのは「 a is Plus」と「END」のみが表示されています。

ここで、宣言の a に値をまたマイナス 10と変更し実行してみます。
●●●( a = ー10 )と変更する。
そうすると、「 a is minus」と「END」のみが表示されています。
どいうことかと言いますと

最初に a にはマイナス10が代入されています。
その後、if文が実行されるのですけど、if文の条件をみてみます。
条件式では a はゼロ以上となっています。今 a にはマイナス10が入っていますので条件が不成立です。
ですので、if文内は実行されず、else文内のprint(” a is minus”);が実行されます。
その後に、最後のprint(”END”);が実行されます。
ですので、表示されたのは、「 a is minus」と「END」のみが表示されています。

また頭の良い方はご気づきでしょうが、
Else文を使用せずif文だけで同じ処理ができます。

どのようにするかと言いますと、簡単で
●●● if a >=0
●●● print(” a is Plus”)
●●●
●●● if a <0
●●● print(” a is minus”)
●●●
●●● print(”END”)
このように書きます。
このように書いても同じ結果が表示されます。

ですが、実務ではelse文をよく使用しますのでelse文を是非覚えてください。

はい、今回は if 文についてということで
変数aをもちいてif 文の仕組みを勉強し、実際にif 文を用いて分岐処理を行って見ました。

次回の講座ではwhile文についての内容となっています
ストーブの仕組みを用いた説明となっていますので是非ご覧ください。

以上で人工知能Aiのプログラム講座を終了と致します。ご静聴ありがとうございました。

  • 関連記事
  • おすすめ記事
  • 特集記事
PAGE TOP