別タブでペリアクロニクルズ攻略情報を開く別タブでYoutubeを開く
【Python3】3.if
この記事は講座などではなく、開発中のMMORPG、PeriaChroniclesで使用できるプログラミング言語Pythonを
サービス開始前に勉強するので興味ある人は一緒にやりましょう、程度の備忘録や日記のような物です。
間違っている部分があれば指摘して頂けると助かりますヽ(・ω・)/

今回は条件分岐の勉強。
a = 9
if a == 10:
  print("変数aの値は10です")
elif a > 10:
  print("変数aの値は10より大きいです")
else:
  print("変数aの値は10より小さいです") 

1.変数aに数値9を代入
2.aが10と等しい(==)か確認   顔文字じゃないよ
3.ifの条件を満たさない場合は下のelifの条件である変数aの値が数値10より大きいかどうか判定
4.if、elifが全て違う時にはelseの処理を行う
5.今回はaが9だったので「変数aの値は10より小さいです」と表示

やっている事はこんな感じ。
elifを複数挟めば分岐を増やせますし、elseを外せば当てはまらない時は何も表示しない事も可能です。


比較演算子
演算子記述例意味
==a == bbがaに等しい
!=a != bbがaに等しくない
>a > bbよりaが大きい
>=a >= bbよりaが大きいか等しい
<a < bbよりaが小さい
<=a <= bbよりaが小さいか等しい

論理演算子
演算子記述例意味
anda and baとbが共に真の場合に真
ora or baかbの少なくとも1つが真の場合に真
notnot aaが真の時に偽、偽の時に真
a = 10
b = 10
if   a >= 10 and b >= 10:
  print("aとbの値はともに10以上です")
▲aとbが10以上なら文字列を表示、違う時は何も表示しない

注意する点として、if文に限った話ではありませんがPythonはブロックをインデントを使って表します。

Pythonと言えばインデント。Pythonを始める人が一番最初にとまどうのがインデントでしょう。
どうもね、たとえばC言語ならこんなふうに書くところが、

for (int i = 0; i < 100; ++i) {
  for (int j = 0; j < 100; ++j) {
    if (i * j % 10 == 0)
      printf("%d %d\n", i, j);
  }
}
Pythonではこんなふうに書く。
for i in range(100):
  for j in range(100):
    if i * j % 10 == 0:
      print "%d %d" % (i, j)
どうも、しまりがなくて落ち着かない。 でもこれは慣れるしかないです。 そのうち気にならなくなりますよ。


インデントとは半角スペースやTabを使って文字を右にズラす事で、冒頭のprintなんかがインデントをしていますね
基本的に見やすくするために行う物なんですが、Pythonでは括弧ではなくこのインデントでブロックを表現するため
きちんとインデントを行わないとエラーが発生します。

a = 9
if a == 10:
  print("変数aの値は10です")
  elif a > 10:
    print("変数aの値は10より大きいです")
  else:
    print("変数aの値は10より小さいです") 
冒頭のプログラムをこんな風に変えてみたとします。
まず変数aに数値9を代入。次にaが数値10と等しければ「変数aの値は10です」と表示して…
次にelifを処理しようとし、elifの前にはifが無ければいけないのでエラーが起こります。
ifの条件に合わない場合もelifやelseはifの条件を満たした時に実行される部分にあるため、何も表示されない事になります。
インデントイメージ
イメージを画像にしてみました。できるだけわかりやすく書いたつもりですが、試しに色々弄ったほうが良いと思います。

◯練習◯
変数aとbの数値を比較し、aが大きい時、bが大きい時、aが50以上の時、aとbが同じ時に
それぞれ違う文章を表示するプログラムを作成してください。
表示の優先順位はaが50以上>aとbが同じ>aが大きい=bが大きい です。
if・elif・elseの後にそれぞれコロンをつけるのを忘れずに。
関連記事

 

コメントの投稿

Secret
(非公開コメント受付不可)

コメント

プロフィール
Twitter.pngRSS.png

HN:まいける、とーげ、雪月 等
性別:男
────現在のゲーム優先順位(11/09)──
デレステ(PRP1104 フルコン82/87)
グラブル(Rank63)
──────────────────
現在開発中のMMORPG
ペリアクロニクルズが来るまで
パズドラやSteamで暇つぶし中。

最近の記事
こめんと
ツリーリンク
アクセスありがとう
密林おすすめ