2014年8月30日土曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド: 独自の構造を使う)、混乱したミキサー(p.250)をpythonで考えてみる。

混乱したミキサー(p.250)

コード(BBEdit, Emacs)

sample250.py

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

class Margarita:
    def __init__(self, tequila, cointreau, citrus):
        self.tequila = tequila
        self.cointreau = cointreau
        self.citrus = citrus
    def f(self):
        print('Margarita')
        print('{0:2.1f}単位のテキーラ\n{1:2.1f}単位のコアントロー'.format(
            self.tequila, self.cointreau))
        if type(self.citrus) == float:
            print('{0:2.1f}単位のジュース'.format(self.citrus))
        else:
            print('{0}切れのライム'.format(self.citrus))
            

m1 = Margarita(2.0, 1.0, 0.5)
m2 = Margarita(2.0, 1.0, 2.0)
m3 = Margarita(2.0, 1.0, 1)
m4 = Margarita(2.0, 1.0, 1.0)
m5 = Margarita(2.0, 1.0, 2.0)

for m in [m1, m2, m3, m4, m5]:
    m.f()

入出力結果(Terminal, IPython)

$ ./sample250.py
Margarita
2.0単位のテキーラ
1.0単位のコアントロー
0.5単位のジュース
Margarita
2.0単位のテキーラ
1.0単位のコアントロー
2.0単位のジュース
Margarita
2.0単位のテキーラ
1.0単位のコアントロー
1切れのライム
Margarita
2.0単位のテキーラ
1.0単位のコアントロー
1.0単位のジュース
Margarita
2.0単位のテキーラ
1.0単位のコアントロー
2.0単位のジュース
$

0 コメント:

コメントを投稿