from sympy import *
from sympy import N as Num
m = Symbol("m", positive=True)
s = Symbol("s", positive=True)
kg = Symbol("kg", positive=True)
print("\n--- User input -----------------------")
half=S(1)/2
M, v0, mu, g = var("M, v0, mu, g")
quants = [
(M, 100 *kg),
(v0, 40 *m/s),
(mu, S(4)/5),
(g, 10 *m/s/s),
]
N = kg*m/s/s
k = 1000
kN = k*N
print("\n--- a: -------------------------------")
pprint("E_0 / (kNm):")
E_0 = half*M*v0*v0
E_0 = E_0.subs(quants)
pprint(E_0/(kN*m))
print("\n--- b: -------------------------------")
pprint("W_01:")
x, L = var("x, L")
F = mu*M*g
W_01 = integrate(F,(x,0,L))
pprint(W_01)
print("\n--- c: -------------------------------")
pprint("L:")
eq = Eq(W_01, E_0)
sol = solve([eq], [L])
L = sol[L]
pprint(L.subs(quants))