📜  3是有理数吗(1)

📅  最后修改于: 2023-12-03 14:38:52.296000             🧑  作者: Mango

判断3是否为有理数

在数学中,有理数是指可以表示为两个整数之比的数,如1/2、7/3等等。而无理数则是无法表示为有限的整数或者分数的数,如 $\pi$、 $\sqrt{2}$ 等等。那么 3 是有理数还是无理数呢?

我们可以将 3 表示为 $3/1$,明显它是两个整数之比,因此 3 是有理数。

因此,我们可以写出以下程序来判断一个数是否为有理数:

def is_rational(number):
    """
    判断一个数是否为有理数
    :param number: 待判断的数
    :return: 若为有理数返回 True,否则返回 False
    """
    if isinstance(number, int):  # 如果是整数,则一定是有理数
        return True
    elif isinstance(number, float):  # 如果是浮点数,则可能是有理数或无理数
        if number.is_integer():  # 如果是整数,则一定是有理数
            return True
        else:  # 如果是小数,则需要判断是否能化为分数
            frac = Fraction.from_float(number)
            return frac.denominator == 1  # 如果分母为 1,则说明是有理数,否则是无理数
    elif isinstance(number, Fraction):  # 如果是分数,则一定是有理数
        return True
    else:
        return False  # 其它情况均为无理数

以上程序中,我们使用 fractions 实现了浮点数到分数的转换。如果一个浮点数可以转换为分数,则说明它是有理数;否则它就是无理数。

Markdown 格式的输出

以上程序的输出结果可以使用 Markdown 格式来显示。我们可以将返回的结果用以下方式标识:

判断 3 是否为有理数:

```python
print(is_rational(3))  # True

因为 3 可以表示为 $3/1$,是两个整数之比,因此 3 是有理数。


以上代码块中包含了程序输出的结果以及解释说明。