0
first = float(input("Enter first number: "));
second = float(input("Enter second number: "));
avg = float((first + second) / 2);
print(str(avg));

使用数字 1.1 和 1.3 作为输入,预期输出为 1.2。但是,我收到的结果是 1.2000000000000002。我知道这与 Python 及其数据类型有关。

但是,我不确定如何正确评估这一点,或者为什么会达到这个特定的结果。

编辑:Python 3.2

4

1 回答 1

3

使用小数

import decimal

first = decimal.Decimal('1.1')
second = decimal.Decimal('1.3')
avg = (first + second) / 2
print(avg)
于 2013-09-06T15:11:45.613 回答