teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

合算処理を追記しましたよ。

2016/11/23 14:03

投稿

uni8inu
uni8inu

スコア127

answer CHANGED
@@ -59,4 +59,23 @@
59
59
  ※インデントを直すとさらにBublesort,Random_method関数とlineがエラーになりましたので、
60
60
  setup_stmtという文字列を作ってtimeit()にsetupを追加してエラーを解消しました。
61
61
  ここらへんの使いこなしは公式のDocumentなどを参考にしてみて下さい。
62
- [timeit:Python2](http://docs.python.jp/2.7/library/timeit.html)
62
+ [timeit:Python2](http://docs.python.jp/2.7/library/timeit.html)
63
+
64
+ ##(追記)出力値の合算
65
+ ```python
66
+ # 値をを足し込む入れ物を追加しました
67
+ out = Decimal(0.0)
68
+
69
+ with open("s_num.txt") as tf:
70
+ for line in tf:
71
+ #自作の関数がtimeitで参照できないため、setupを追加しています。
72
+ setup_stmt = "from __main__ import Bublesort,Random_method;line = " + line
73
+ t = timeit.Timer("Bublesort(Random_method(float(line)))",setup=setup_stmt)
74
+ print t.timeit(1)
75
+
76
+ #合計値を足していきます / 小さすぎる値を足すときには精度が悪くなるのでDecimalを使います
77
+ out += Decimal(t.timeit(1))
78
+
79
+ #表示
80
+ print out
81
+ ```