mrdeer 发表于 2023-2-22 12:06:37

如何用python解方程

公式是
z =2000000*x+50000000+1000000/0.8
z= 2000000*y+50000000+1000000/0.7

z的值在什么范围时2000000/(2000000+50000000/x+1000000/0.8x) < 2000000/(2000000+50000000/y+1000000/0.7y)


我现在想用while函数嵌套z=z+10000之类的,但失败了...求大佬解答....

未泯 发表于 2023-2-22 14:14:33

是z的值在什么范围时,x<y吧{:5_96:}

mrdeer 发表于 2023-2-22 18:07:22

不是x<y,而是x和y各自公式的数字作对比,x公式的得出的数字比y公式的小。x的公式是2000000/(2000000+50000000/x+1000000/0.8x),y的公式是2000000/(2000000+50000000/y+1000000/0.7y)。其实这道题还是二元一次方程,只不过是z是自己按照上面的要求慢慢试出来的。

mrdeer 发表于 2023-2-22 18:08:09

未泯 发表于 2023-2-22 14:14
是z的值在什么范围时,x


不是x<y,而是x和y各自公式的数字作对比,x公式的得出的数字比y公式的小。x的公式是2000000/(2000000+50000000/x+1000000/0.8x),y的公式是2000000/(2000000+50000000/y+1000000/0.7y)。其实这道题还是二元一次方程,只不过是z是自己按照上面的要求慢慢试出来的。

mrdeer 发表于 2023-2-22 18:33:29

未泯 发表于 2023-2-22 14:14
是z的值在什么范围时,x

我目前的垃圾想法是这样的...求大佬解答

from sympy import symbols, Eq, solve


while equation_3 < equation_4:
    z = 1000000
    z = str(z)
   
    x, y = symbols("x y")
    equation_1 = Eq(2000000*x+50000000+1000000/0.8, z)
    equation_2 = Eq(2000000*y+50000000+1000000/0.7, z)
    solution = solve((equation_1, equation_2), (x, y))

    equation_3 = Eq(2000000/(2000000+50000000/x+1000000/0.8*x))
    equation_4 = Eq(2000000/(2000000+50000000/y+1000000/0.7*y))
   
z = z + 100000

return z

sfqxx 发表于 2023-5-14 17:12:10

首先,需要明确的是使用 while 循环中需要有一个终止条件来停止循环。另外,需要注意的是 for 循环和 while 循环的区别,for 循环适合已知循环次数,而 while 循环可以用于未知循环次数的场景。

根据公式,我们可以得到: z 的取值范围为 。

如果想以步长为10000进行遍历,代码如下所示:

x = 1
y = 1
z = 0

while z >= 2 and z <= 50000000:
    while z >= 2 and z <= 50000000:
      fx = 2000000 / (2000000 + 50000000/x + 1000000/0.8*x)
      fy = 2000000 / (2000000 + 50000000/y + 1000000/0.7*y)
      if fx < fy:
            print(f"当 x={x}, y={y} 时,f(x)={fx}, f(y)={fy}")
      z = 2000000 * x + 50000000 + 1000000 / 0.8
      y += 1
      
    x += 1
    y = 1
    z = 0
上述代码中,首先对变量进行赋值,并进行了两层循环。在第二层循环中,进行了变量值的计算,并根据条件进行判断并输出结果。然后加上步长再更新变量值。

无论是在 for 循环还是 while 循环中,都需要注意循环次数或循环终止条件的判断。同时,对于嵌套循环,也要注意内外层变量值的处理。

18975173112 发表于 2023-5-14 17:48:59

学习了

18975173112 发表于 2023-5-14 17:50:36

题目设置就有问题
页: [1]
查看完整版本: 如何用python解方程