開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIII部(ステートメント)12章(ifステートメント)の練習問題1を解いてみる。
その他参考書籍
1.
if/elifステートメントを使えばいい。単純な場合(あるいはより柔軟性をもたせたい場合等)はディクショナリやリストでも同様のことをできる。
コード(TextWrangler)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import re
pattern = re.compile("^\s*$")
while True:
print("数値を入力: ", end="")
str = input()
if re.match(pattern, str): break
n = int(str)
# ここから多分岐
if n > 100:
print("100より大きい")
elif n >= 0:
print("0以上100未満")
else:
print("負の数")
# ディクショナリで多分岐
while 1:
print("a, b, cのいずれかを入力: ", end="")
str = input()
if re.match(pattern, str): break
print({'a':1, 'b':2, 'c':3}[str])
# リストで多分岐
while 1:
print("0, 1, 2のいずれかを入力: ", end="")
str = input()
if re.match(pattern, str): break
n = int(str)
print(['a', 'b', 'c'][n])
入出力結果(Terminal)
$ ./sample.py 数値を入力: 150 100より大きい 数値を入力: 50 0以上100未満 数値を入力: -50 負の数 数値を入力: a, b, cのいずれかを入力: a 1 a, b, cのいずれかを入力: b 2 a, b, cのいずれかを入力: c 3 a, b, cのいずれかを入力: 0, 1, 2のいずれかを入力: 0 a 0, 1, 2のいずれかを入力: 1 b 0, 1, 2のいずれかを入力: 2 c 0, 1, 2のいずれかを入力: $
ちなみにJavaScriptの場合。
コード(TextWrangler)
var result = "";
var num = parseFloat(prompt("数値を入力",null));
result += "数値: " + num + "\n";
result += "switch文を使った場合\n";
switch(num){
case 0: result += "OK"; break;
case 1: result += "OK1"; break;
case 2: result += "OK2"; break;
default: result += "X";
}
result += "\nif/else if文を使った場合\n";
if(num > 100){
result += "100より大きい\n";
} else if(num >= 0){
result += "0以上100未満\n";
} else {
result += "負の数\n";
}
$('#pre0').text(result);
0 コメント:
コメントを投稿