開発環境
- 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 コメント:
コメントを投稿