菜鸡别说话 发表于 2021-11-21 10:04:25

课后习题008讲!!有关decimal模块!!萌新求解答!!!

计算0.1 + 0.1 + 0.1 - 0.3 要实现精确的浮点数运算
我的代码:
import decimal
a=0.1+0.1+0.1-0.3
decimal(a)

报错:Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
    decimal(a)
TypeError: 'module' object is not callable

其实不太理解调用了模块之后要如何使用

我看答案代码是

>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.3')
>>> print(a + a + a - b)
0.0

倒是也能理解,先把0.1跟0.3精确化了再计算,但是我不理解的是在调用decimal模块的时候为什么是 a = decimal.Decimal('0.1'),为什么要一个小写的decimal加一个开头大写的Decimal,我还试了下a=decimal("0.1")报错,a=decimal.decimal("0.1")也报错,必须是一个小写加大写

列斗 发表于 2021-11-21 10:36:53

decimal是个库名,调用的时候是调用这个库的方法,而不是直接调用库
页: [1]
查看完整版本: 课后习题008讲!!有关decimal模块!!萌新求解答!!!