【问题标题】:Python Calculator KinematicsPython 计算器运动学
【发布时间】:2018-05-10 07:42:57
【问题描述】:

大家好,我在这里要做的是制作一个非常基本的运动学变量求解器,所以我得到了基本方程 vf = vi + at。现在我要做的是让它,所以如果你不知道变量,你输入 / 这是你解决的变量。但问题是,当我尝试将变量输入为 / 时,它会给我一个错误,因为我使用的是整数。但是,如果我从每个变量中删除 int() 它不会让方程式起作用!我被卡住了,如果有人可以给我一些意见,将不胜感激。看来我的图片没有上传,所以这里有一个 gyazo 链接https://gyazo.com/3325b42c51f839dc901cdefc1fe9b7fd

vf = input("What is the final velocity?")
if vf == "/":
 dontuse = "vf"
else:
    pass
vi = int(input("What is the intial velocity?"))
if vi == "/":
  dontuse = "vi"
else:
  pass
a = int(input("What is the acceleration?"))
if a == "/":
  dontuse = "a"
else:
  pass
t = int(input("What is the time?"))
if t == "/":
  dontuse = "t"
else:
  pass
def eq1():
 vf = vi + a*t
def eq2():
  vi = vf/(a*t)
def eq3():
  t = (vf - vi)/a
if dontuse == "vf":
  eq1()

【问题讨论】:

  • 你能把代码贴出来让我看看
  • 如果你能粘贴我可能修复的代码,我想我理解这个问题
  • 好了,抱歉。我还包含了一个 gyazo 链接。
  • 最后一定要用函数吗??
  • 我不确定。我可以使用你推荐的任何东西。我只是想制作一个吐出缺失变量的程序。如果您有更好的想法,请分享。

标签: python


【解决方案1】:

好的,所以问题是您以 Int 的形式输入,但您要求用户输入 '/' 这是一个字符串。 在某些版本中,这不会报错,但在这里会报错

其次,您在 Int 变量中进行计算,这对乘法和除法无效,因此我使用了精度更高的浮点数。

dontuse=''

vf = input("What is the final velocity?")
if vf == "/":
 dontuse = "vf"
else:
    vf=float(vf)

vi = str(input("What is the floatial velocity?"))
if vi == "/":
  dontuse = "vi"
else:
  vi=float(vi)

a = str(input("What is the acceleration?"))
if a == "/":
  dontuse = "a"
else:
  a=float(a)

t = str(input("What is the time?"))
if t == "/":
  dontuse = "t"
else:
  t=float(t)


def eq1():
    vf = vi + a*t
    print("vf: "+str(vf))
def eq2():
    vi = vf/(a*t)
    print("vi: "+str(vi))
def eq3():
    t = (vf - vi)/a
    print("t: "+str(t))

def eq4():
    a = (vf - vi)/t
    print("a: "+str(a))



if dontuse == "vf":
    eq1()
elif dontuse=='vi':
    eq2()
elif dontuse=='a':
    eq4()
elif dontuse=='t':
    eq3()
else:
    print('All value known')

享受:)

【讨论】:

  • 接受我的回答会提前很久
猜你喜欢
  • 1970-01-01
  • 2017-11-05
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多