真实离线执行 · 人工参考修复

Continue 项目规则教程:Decimal 金额与规则生效范围

修改前后 diff

--- a/app.py
+++ b/app.py
@@ -1,2 +1,4 @@
+from decimal import Decimal
+
 def add_money(a, b):
-    return float(a) + float(b)
+    return (Decimal(a) + Decimal(b)).quantize(Decimal('0.01'))

真实测试记录

before exit=1\ntest_contract (test_app.LessonTest.test_contract) ... FAIL

======================================================================
FAIL: test_contract (test_app.LessonTest.test_contract)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/lorin/my-clone/quickrout/public/downloads/tutorials-batch50b-20261014/practical/continue-project-rule-money/before/test_app.py", line 6, in test_contract
    self.assertEqual(str(add_money('0.10','0.20')), '0.30')
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: '0.30000000000000004' != '0.30'
- 0.30000000000000004
+ 0.30


----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)
\nfixed exit=0\ntest_contract (test_app.LessonTest.test_contract) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

标准库测试真实运行;参考代码人工编写,未执行 Continue 或付费模型。