2012年11月13日火曜日

開発環境

『初めての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 コメント:

コメントを投稿