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
使用小数:
import decimal
first = decimal.Decimal('1.1')
second = decimal.Decimal('1.3')
avg = (first + second) / 2
print(avg)