我想将代码从calculateForce
开始重复5次,同时反馈结果,即将position和position1反馈到循环中。我想我可能想写一个函数的一个函数,但我从来没有这样做过,我不知道如何做到这一点。你知道吗
from __future__ import print_function, division
import numpy as np
G = 10
t=5
class Particle:
def __init__(self,mass):
self.mass = mass
self.position = np.array([0,0],int)
def update():
for x in range():
def calculateForce(self,other):
Force = (G*self.mass*other.mass)/(other.position - self.position)**2
print(Force)
return(Force)
def calculateAcceleration(self,Force):
acceleration = (Force/self.mass)
print('Acceleration of particle is', acceleration)
return acceleration
def calculateAcceleration1(other, Force):
acceleration1 = (Force/other.mass)
print('Acceleration of particlce is', acceleration1)
return acceleration1
def calculateVelocity(self):
velocity = (acceleration*t)
print('Velocity of particle is', velocity)
return velocity
def calculateVelocity1(self):
velocity1 = (acceleration1*t)
print('Velocity of particle1 is', velocity1)
return velocity1
def calculatePosition(self):
position = (velocity*t)
print('Position of particle is', position)
return position
def calculatePosition1(self):
position1 = (velocity1*t)
print('Position of particle1 is', position1)
return position1
p = Particle(10)
p1 = Particle(20)
p1.position[0] = 5
p1.position[1] = 5
print(p1.position)
Force = p.calculateForce(p1)
acceleration = p.calculateAcceleration(Force)
acceleration1 = p1.calculateAcceleration1(Force)
velocity = p.calculateVelocity()
velocity1 = p.calculateVelocity1()
position = p.calculatePosition()
position1 = p.calculatePosition1()
这是一个基于递归和迭代的解决方案,形式是一个函数,您可以将指定的函数传递给它(例如calculateForce、calculateAcceleration等):
运行它与
产生
相关问题 更多 >
编程相关推荐