我解决veloicty的计算不起作用请查看我的代码

时间:2017-09-09 03:41:17

标签: python-3.x

假设球在空中直接投掷,初始速度为50 每秒英尺,初始高度为5英尺。 3秒后球会有多高 以下是我到目前为止的情况:

h = input(" Enter the initial height of the ball:")
v = input(" Enter the initial velocity of the ball:")
t = input("Enter the time of the ball")
maxH = maxHeight(h,v)
ballT = (h + (v*t) - (16*t*t))

print("The maximum height of the ball is", maxH, "feet.")
print("The ball will hit the ground after approximately", ballT, "seconds.")
ballHeight = (h + (v*t) - (16*t*t))
maxH = (h + (v*h) - (16*t*t))

我已经研究了这段代码了一段时间我仍然坚持计算,我也认为使用输入和打印函数返回字符串数据是可以接受的。我是编码的新手,所以任何解释我都会非常感谢,谢谢!

更新了代码

h = input (" Enter the initial height of the ball:"),int(h)
v = input (" Enter the initial velocity of the ball:"),int (v)
t = input("Enter the time of the ball"), int(t)


maxH =(h,v )
maxH = h + (-(v ** 2 )) / ( 2 * (-16))

ballH = (h + (v*t) - (6 * t * t))
ballT = (h + (v*t) - (16*t*t))


print("The maximum height of the ball is", maxH, "feet.")
print("The ball will hit the ground after approximately", ballT, "seconds.")
ballHeight = (h + (v*t) - (16*t*t))

1 个答案:

答案 0 :(得分:0)

  1. 当接收要用作int的输入时,需要将输入从其输入类型(字符串)转换为int。

    java -jar yourMainFile.jar
  2. 您正在尝试根据某些函数maxHeight()设置maxH。除非您在其他地方定义了maxHeight,否则您需要定义函数并在其中包含用于确定最大高度的等式。

    num = int (input("Enter an int"))
    
  3. 关于maxHeight计算的主题,您使用的是以下公式:

      

    maxH =(h +(v * h) - (16 * t * t))

    此公式不计算最大高度;相反,它计算给定时间后的高度。为了计算最大高度,您应该使用以下公式:

    def maxHeight(height, velocity):
        # calculate max height here
    

    来自等式:v2 ^ 2 = v1 ^ 2 + 2a * s(其中's'是距离)

  4. 3.中的等式可以插入到2中的函数中,以便进行原始函数调用:

      

    maxH = maxHeight(h,v)

    正确地为maxH提供最大高度(记住设置函数的返回值)。

  5. 如果您设置了类似的功能并使用您发布的等式,您可以按照类似的过程在特定时间后确定ballHeight:

      

    ballHeight =(h +(v * t) - (16 * t * t))

    在函数ballTime()中,以类似的方式引用:

    maxH = h + (-(v ** 2)) / (2 * (-16))
    
  6. 修复更新的代码

    当前代码

    ballT = ballTime(h, v, t)
    

    固定代码

    h = input (" Enter the initial height of the ball:"),int(h)
    v = input (" Enter the initial velocity of the ball:"),int (v)
    t = input("Enter the time of the ball"), int(t)
    
    
    maxH =(h,v )
    maxH = h + (-(v ** 2 )) / ( 2 * (-16))
    
    ballH = (h + (v*t) - (6 * t * t))
    ballT = (h + (v*t) - (16*t*t))
    
    
    print("The maximum height of the ball is", maxH, "feet.")
    print("The ball will hit the ground after approximately", ballT, "seconds.")
    ballHeight = (h + (v*t) - (16*t*t))
    

    我将最终的印刷陈述改写为您在原始问题中描述的目标。如果你真的想知道在球撞到地面之前会有多长时间(在输入时间之后),请告诉我。