python中pos如何定义_Python:类的定义与使用

类的定义与使用

cball = Projectile(angle, vel, h0)中, cball传入给self

一个炮弹从某个倾角射出计算水平位移和大致飞行时间的程序

# projectile.py

from math import radians, sin , cos

##############类的定义#######

class Projectile():

def __init__(self, angle, velocity, height):

self.xpos = 0.0

self.ypos = height

theta = radians(angle)

self.xvel = velocity * cos(theta)

self.yvel = velocity * sin(theta)

self.totaltime = 0.0

def update(self, time):

self.xpos = self.xpos + time * self.xvel

yvel1 = self.yvel - 9.8 * time

self.ypos = self.ypos + time * (self.yvel + yvel1) / 2.0

self.yvel = yvel1

self.totaltime = self.totaltime + time

def getX(self):

return self.xpos

def getY(self):

return self.ypos

#############################

###############函数定义########

def getIputs():

a = float(input("Enter the lanuch angle (in degrees):"))

v = float(input("Enter the lanuch velocity (in meters/sec):"))

h = float(input("Enter the lanuch height (in meters):"))

t = float(input("Enter the internal between position calculations:"))

return a, v, h, t

def main():

angle, vel, h0, time = getIputs()

cball = Projectile(angle, vel, h0)

while cball.getY() >= 0:

cball.update(time)

print("\nDistance traveled: {0:0.1f} meters.".format(cball.getX()))

print("\nTotal time spent is roughly: {0:0.1f} sceonds.".format(cball.totaltime))

#############################

###########函数调用###########

if __name__ == '__main__':

main()

运行示例:

'''

Enter the lanuch angle (in degrees):50

Enter the lanuch velocity (in meters/sec):1

Enter the lanuch height (in meters):50

Enter the internal between position calculations:1

Distance traveled: 2.6 meters.

Total time spent is roughly: 4.0 sceonds.

'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值