📜  提及任何小于 5 的 4 个有理数(1)

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

介绍如何提及任何小于 5 的 4 个有理数

在简单算术中,有理数是带有分母和分子的数字。这意味着通过分子除以分母的结果是一个关于基数或分数的数字。对于任何小于 5 的 4 个有理数,下面是介绍如何在代码中提及它们的方法。

方法一:将它们硬编码在代码中

在你的代码中,你可以直接将这四个有理数硬编码进去。以下是它们的值:

  • 1/2
  • 2/3
  • 4/5
  • 3/4

可以按照以下方式在代码中使用它们:

num1 = 1/2
num2 = 2/3
num3 = 4/5
num4 = 3/4
方法二:使用循环

如果你需要一个在给定范围内的随机小数值,你可以用循环来生成它们。以下是一个 Python 示例:

import random

numbers = []
for i in range(4):
    while True:
        num = random.uniform(0, 5)
        if num < 1: # 构造1/2
            if num not in numbers:
                numbers.append(num)
                break
        elif num < 2: # 构造3/4
            if (num - 1/2) not in numbers:
                numbers.append(num - 1/2)
                break
        elif num < 4/3: # 构造2/3
            if (num - 2/3) not in numbers:
                numbers.append(num - 2/3)
                break
        else: # 构造4/5
            if (num - 3/4) not in numbers:
                numbers.append(num - 3/4)
                break

print(numbers)

在上面的代码中,我们使用了random.uniform()函数来生成随机小数值。我们使用while循环来检查生成的数字是否是小于 5 的有理数,并将它们存储在数组中。注意,对于需要满足上述条件的四个有理数,我们使用了四个if分支,每个分支用于构造一个有理数。最后我们打印出生成的四个数字。

方法三:使用 Numpy

你也可以使用 Numpy 库来生成随机小数,并将它们转换为有理数。以下是一个示例代码:

import numpy as np

numbers = np.random.uniform(0, 5, size=4)
numbers = np.around(numbers, decimals=2)
numbers = np.unique(numbers)
numbers = np.sort(numbers)[:4]

frac_numbers = np.array([])
for num in numbers:
    frac = np.array(np.around([num.as_integer_ratio()], decimals=0)).flatten()
    frac_numbers = np.append(frac_numbers, frac)

print(frac_numbers)

在上面的代码中,我们使用了numpy.random.uniform()函数来生成四个随机小数。我们使用numpy.around()函数将数字四舍五入到小数点后两位,并使用numpy.unique()函数删除生成的重复数字。我们使用numpy.sort()函数将数组中的元素升序排列,并取前4个,以确保我们只获取四个小于 5 的数字。

然后,我们使用numpy.as_integer_ratio()函数将小数转换为有理数,并使用numpy.flatten()函数将结果转换为一维数组。最后,我们将四个有理数存储在frac_numbers数组中,并打印出来。

这三种方法中,第二种方法比较适用于需要生成多个小于 5 的有理数的情况。如果你只需要四个特定的有理数,则第一种方法是最简单的方法。如果你想使用更多的 Python 库来生成有理数,则可以研究 Sympy 库和 Fractions 库。