我想制作一个程序,可以计算用户输入不同参数的物理方程:我知道它很简单:
v=5
t=7
s=v*t
print(s)
它只计算s = v*t;但是,当我想要 v 的方程式时,如果显示错误。硬编码 v = s/t 给我正确的结果:
s=5
t=7
v=s/t
print(v)
我想要一个可以根据不同用户输入求解的方程式;也就是说,如果用户输入 v 和 t ,方程将返回 s = v*t 并且如果用户输入 s 和 t 等式将返回 v = s/v。
请您参考如下方法:
您可以使用关键字参数:
def solve_equation(v=None, t=None, s=None):
if v is not None and t is not None:
return v * t # s case
elif s is not None and t: # t not None and not 0
return s / t # v case
else:
raise ValueError #"t should be defined or not zero"
print(solve_equation(v=10, t=2))
print(solve_equation(s=2, t=7))
输出:
20
0.2857142857142857
请注意,如果您使用的是 python 2,则必须传递 float 。
