1

好的,所以我正在尝试制作一个程序,当两辆车以一定的速度相互加速时,可以找到一辆车的时间,每辆车都有不同的速度,只有使用时间=距离/速度给出的速度但是我需要一个带有未解决变量的表达式来解决以下问题:

Car1 以 20 英里/小时的速度行驶。Car2 比 Car1 快 10 英里/小时。Car2 比 Car1 晚一小时离开。Car2 需要多长时间才能赶上 Car1?

我的工作没有程序:

t = Travel time total (in hours)

10*t = 20(t-1) # Note the 1 is for the 1 hour

# rearrange
10*t = 20*t - 20

# subtract 10*t from both sizes
0 = 10*t - 20

# add 20 to both sides
20 = 10*t

#divide both sizes by 10
2 = t

是否有一个模块支持使用分配属性对未定义变量进行操作(即可以解决像这样的方程)?

如果没有,我可以举一个小例子来说明如何在没有模块的情况下使用未识别的变量吗?我刚在学校学过这个。

4

2 回答 2

6

您正在寻找的模块称为SymPy

import sympy
t = sympy.Symbol('t') # set t as a variable/symbol
sympy.solve(sympy.Eq(10*t, 20*(t-1)), t) # which reads: solve the equation 10*t == 20*(t-1) for t.
# returns [2] (list of solutions to the equation)

(请参阅使用 SymPy 的一些更快速的示例)。

于 2012-10-11T11:56:01.543 回答
1

这是你想要的吗?

def get_time(v1, v2, dt):
    t = (v2*dt)/(v2 - v1)
    return t

然后你可以用car1,car2的速度和偏移量调用函数,它会返回你想要的时间。

于 2012-10-11T12:54:07.790 回答