提问者:小点点

Python、平均值和除法 [重复]


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


共1个答案

匿名用户

使用小数:

import decimal

first = decimal.Decimal('1.1')
second = decimal.Decimal('1.3')
avg = (first + second) / 2
print(avg)