请编写函数,考虑误差因素的情况下实现实数的比较。 由于计算机中的实数存在误差问题,因此判断两个实数“相等”时要考虑误差因素。暂且规定:当两个实数之差的绝对值小于指定的精度时,就认为它们“相等”,否则就认为它们“不等”。
时间: 2023-06-18 12:07:38 浏览: 187
比较两个值是否相等
以下是一个简单的 Python 函数,可以比较两个实数是否相等,考虑误差因素:
```python
def compare_floats(x, y, precision=0.00001):
"""
比较两个实数是否相等,考虑误差因素
:param x: 第一个实数
:param y: 第二个实数
:param precision: 指定精度,默认为 0.00001
:return: 如果两个实数相等,则返回 True;否则返回 False
"""
return abs(x - y) < precision
```
使用示例:
```python
>>> compare_floats(1.23456789, 1.23456788)
True
>>> compare_floats(1.23456789, 1.23456778)
False
>>> compare_floats(1.23456789, 1.23456788, precision=0.000001)
False
```
阅读全文