wythonにif文を追加 [wython]
日本語スクリプト言語wythonのインプリメントを続ける。といっても、プログラムを載せても長くなるので、結果を挙げるだけだが。
今度は、if文、つまり、if 条件: ブロック elif 条件: ブロック else: ブロック という条件分岐ができるようになった。条件の部分は式をandとかorで繋ぐこともできる。とりあえず、wythonで書いたサンプル・スクリプトを挙げよう。
「好きな数字を入力して下さい。」と質問して、その答えを文字列型変数ans1に入れる。 ans1を整数型に直す。 もし、ans1が0以上で、かつ、ans1が9以下ならば、 「ans1は一桁です。」と表示する。 あるいはもし、ans1が10以上で、かつ、ans1が100より小さいならば、 「ans1は二桁です。」と表示する。 そうでなければ、 「ans1は、負かあるいは100以上で。」と表示する。
これは、変換すると、
#!/usr/bin/env python # -*- coding:euc-jp -*- ans1 = raw_input("好きな数字を入力して下さい。" ) ans1 = int(ans1) if ans1 >= 0 and ans1 <= 9: print "%dは一桁です。" % (ans1) elif ans1 >= 10 and ans1 < 100: print "%dは二桁です。" % (ans1) else: print "%dは、負かあるいは100以上で。" % (ans1)になる。実行した結果は、
好きな数字を入力して下さい。33 33は二桁です。である。 if構文に関する言語仕様を書いておく。あまり制約はない。
- if文の日本語のキーワードは、「もし・・・ならば、」「あるいはもし、・・・ならば、」「そうではなく、」である。
- 条件式は、例によって、変数あるいは数値リテラルはそのまま書ける。文字列リテラルはサポートしていないので(もしかして動くかもしれないが)、予め変数に代入しておく。
- 比較演算子は、現在のところ、>, <, <=, >=, !=, ==をサポートしている。
- 一つ一つの論理式は、・・・が・・・ (大きい|小さい|以上|以下|等しい|等しくない) という形をとることを前提にしている。
- よく間違えるのは、論理式が二つandやorで結ばれるとき、日本語で二番目の式に「・・・が」を省いてしまうことである。
- また、ブロックはPythonと同じインデントで表現するが、この空白は一つのブロックでは統一したスペース文字を使う必要がある。使えるスペースは、半角スペース、全角スペース、タブである。
コメント 0