条件分岐のif文
if文を使うことで簡単なプログラムが書けるようになります。
Pythonのif文は、他言語で使われる「else if」は書かないで「elif」と書きます。
条件にカッコ()は不要です。
ブロックに波括弧{}は不要です。その代わりスペース4文字でインデントします。これはPythonの特徴です。これにより他人の書いたコードでも読みやすくなります。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
a = 2 if a == 1: #もしaが1ならば実行 print("aは1です") elif a == 2: #もしaが2ならば実行 print("aは2です") elif a == 3: #もしaが3ならば実行 print("aは3です") else: #それ以外の場合実行 print("aは1でも2でも3でもないです") print("おわり") |
実行結果:
aは2です
おわり
変数aに2を代入していますので、a == 2に条件が合います。そこでprint(“aは2です”)を実行して、それ以降のelifとelseを飛ばし、print(“おわり”)に行きます。
条件を比較する記号
比較演算子と呼ばれます。
- ==
- 同じである
- !=
- 同じではない
- <
- 左の項の方が小さい
- >
- 左の項の方が大きい
- <=
- 左の項は右の項と同一もしくは大きい
- >=
- 左の項は右の項と同一もしくは小さい
条件に適合したら、その下のブロックを実行します。
論理演算子
条件を組み合わせた条件を書く場合に使います。
「a == 2で且つa == 3」の時は「a == 2 and a == 3」と書きます。
and、or、not が使えます。
「a == 2またはa == 3」の時は「a == 2 or a == 3」と書きます。
「a == 2でない、またはa == 3」の時は「not a == 2 or a == 3」と書きます。
サイコパス度チェック
先日YouTubeを見ていて面白そうだったのでサイコパス度チェックを書いてみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
print(""" サイコパス度テストです 質問(全11問)に、以下のように数字で答えて下さい。 0 まったくあてはまらない 1 あてはまらない 2 あてはまる 3 非常にあてはまる """) a = int(input("Q1.事前に計画することはほとんどない行き当たりばったりのタイプである。→ ")) a += int(input("Q2.ばれなければ、パートナー以外の人と浮気をしてもよい。→ ")) a += int(input("Q3.もっと楽しい予約が入った場合、以前からの約束をキャンセルしてもよい。→ ")) a += int(input("Q4.動物が傷ついていたり、痛がっていたりするのを見ても全く気にならない。→ ")) a += int(input("Q5.高速で車を運転したり、ジェットコースターに乗ったり、スカイダイビングをすることに興味をひかれる。→ ")) a += int(input("Q6.自分の欲しい物を手に入れるためには、他人を踏み台にしても構わない。→ ")) a += int(input("Q7.私は非常に説得力がある。他の人々に自分の望むことをさせる才能がある。→ ")) a += int(input("Q8.決断を下すのがとても早いので、危険な仕事に向いている。→ ")) a += int(input("Q9.他の人々がプレッシャーで潰れそうになっていても、自分は落ち着いていられる。→ ")) a += int(input("Q10.もし私が誰かをだますことに成功したら、それはだまされる側の問題である。→ ")) a += int(input("Q11.物事が間違った方向に行く場合の多くは、自分ではなく他人のせいである。→ ")) print() print(f"あなたのサイコパス度は{a}点です") if a >= 0 and a <= 11: print("非常に低いです") elif a >= 12 and a <= 17: print("低いです") elif a >= 18 and a <= 22: print("平均的です") elif a >= 23 and a <= 28: print("高いです") elif a >= 29 and a <= 33: print("非常に高いです") else: print("入力に誤りがあります") |
「+=」の演算子を書いていますがこれは、「a += b」なら「a = a + b」と同じ意味です。
「int(input…」で入力した数値(文字列型)をいきなり整数にキャストしています。
さて、あなたのサイコパス度はどのくらいでしたでしょうか?
今回は以上です。