首页 > 解决方案 > Python机器学习 - 找出预期结果的数学方程

问题描述

也许我不想要机器学习,我可能只是在寻找一个术语来找到一些工作示例,基本上,我有“x”值,我想弄清楚哪些公式的成功率大于 75%总体给出的值。

例如,假设我有这些值

1 2 3 6
7 9 1 63
10 1 2 20
9 3 3 33

我正在尝试开发的是一种算法,该算法基本上将通过所有基本数学函数( + / * - )将 [0]、[1]、[2] 中的所有值都包含在 [3] 中。所以我知道前 3 个值是否相乘 [0] [1] [2] = [3] 并且由于 [3] 失败,它已经达到了我 75% 的比率。

标签: python

解决方案


def plus(x,y):
    return x+y
def minus(x,y):
    return x-y
def times_by(x,y):
    return x*y
def divided_by(x,y):
    return x/y

def find_solution(l):
    x,y,z,targ = l

    for func1 in [plus, minus, times_by, divided_by]:
        for func2 in [plus, minus, times_by, divided_by]:
            if func2(func1(x,y), z) == targ :
                print(f'({x} {func1.__name__} {y}) {func2.__name__} {z} = {targ}')
            if func1(x, func2(y,z)) == targ:
                print(f'{x} {func1.__name__} ({y} {func2.__name__} {z}) = {targ}')

find_solution([7, 9, 1, 63])

输出:

(7 times_by 9) times_by 1 = 63
7 times_by (9 times_by 1) = 63
(7 times_by 9) divided_by 1 = 63
7 times_by (9 divided_by 1) = 63

我会把一些极端情况和错误(特别是除以零)留给你


推荐阅读