ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Pythonコミュの電卓

  • mixiチェック
  • このエントリーをはてなブックマークに追加
わざわざPythonで電卓を実装することもないけど、UMTP組込みモデリング部会でモデル候補に挙げてしまったので、UMLモデリングの題材用にPythonで実装してみました。
整数入力で四則演算のみ、優先順位計算ありで120ステップくらい。
二項演算子が少し複雑なのは、1+2*の次に/を入力したら1+2/に置き換えたかったからです。

クラス名、メソッド名、変数名、すべて日本語です。selfは別。
WindowsのPyhon3.2のGUIインタプリタに読み込ませて実行できます。

if文はひとつもありません。
比較は二項演算子優先順位処理ループの一箇所だけです。

【電卓Pythonスクリプト】
http://codepad.org/ExT75Mhu

【実行例】
>>> 電卓 = 電卓()
>>> 電卓.入力('1+2*3=')
7
>>> 電卓.入力('+5=')
12

問題点や改善点などありましたら指摘をお願いします。
質問や感想も歓迎します。
これに、16進数入力、小数点入力、括弧入力を追加せよ、なんて教材に使ってみるのもいいかもしれません。

コメント(6)

実装後にUML図を描いてみると、責務構造がぐちゃくちゃなのが見える化されますね。
やはり、UMLで責務構造を明確化してから実装するのがいいですね。
再実装した結果を後日投稿します。
再度見直した結果です。

【Pythonスクリプト電卓】
http://codepad.org/oqiRRaNj

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Python 更新情報

Pythonのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング