Hi guys I have already posted code to do with a solar system but this is my second go at it to make it better and more clean but i am have trouble making it actually print out the result in turtle. Could some one please help me? I think it is to do with the main, i dont know if i should be calling the turtle there or else where?
Thanks in advance for the help
Haze

``````import math
import turtle

class Planet:
def __init__(self, name, rad, mass, dist, color, velX, velY):
self.name = name
self.mass = mass
self.dist = dist
self.x = dist
self.y = 0
self.color = color

self.pturtle = turtle.Turtle()

self.pturtle.color(self.color)
self.pturtle.shape('circle')

self.pturtle.up()
self.pturtle.goto(self.x, self.y)
self.pturtle.down()

self.velx = velX
self.vely = velY

def moveTo(self, newx, newy):
self.x = newx
self.y = newy
sel.pturtle.goto(newx, newy)

def getXVel(self):
return self.velx

def getYVel(self):
return self.vely

def setXVel(self):
self.velx = newx

def setYVel(sefl):
self.vely = newy

def getXPos(self):
return self.x

def getYPos(self):
return self.y

def __str__(self):
return self.name

def getName(self):
return self.name

def getMass(self):
return self.mass

def getDist(self):
return self.dist

def getVolume(self):
v = 4.0/3 * math.pi * self.rad**3
return v

def getSurfaceArea(self):
sa = 4.0 * math.pi * self.rad**2
return sa

def getDensity(self):
d = self.mass / self.getVolume()
return d

class Sun:
def __init__(self, name, rad, mass, temp):
self.name = name
self.mass = mass
self.temp= temp
self.x = 0
self.y = 0

self.sturtle = turtle.Turtle()
self.sturtle.shape('circle')
self.sturtle.color('yellow')

def getXPos(self):
return self.x

def getYPos(self):
return self.y

def getMass(self):
return self.mass

def getTemperature(self):
return self.temp

def getVolume(self):
v = 4.0/3 * math.pi * self.rad**3
return v

def getSurfaceArea(self):
sa = 4.0 * math.pi * self.rad**2
return sa

def getDensity(self):
d = self.mass / self.getVolume()
return d

def __str__(self):
return self.name

class SolarSystem:
def __init__(self, width, height):
self.thesun = None
self.planets = []
self.ssturtle = turtle.Turtle()
self.ssturtle.hideturtle()

self.thesun = asun

self.planets.append(aplanet)

def showPlanets(self):
for aplanet in self.planets:
print(aplanet)

def movePlanets(self):
G = 0.1
dt = .001

for p in self.planets:
p.moveTo(p.getXPos() + dt * p.getXVel(),
p.getYPos() + dt * p.getYVel())

rx = self.thesun.getXPos() - p.getXPos()
ry = self.thesun.getYPos() - p.getYPos()
r = math.sqrt(rx ** 2 + ry ** 2)

accx = G * self.thesun.getMass() * ry / r ** 3
accy = G * self.thesun.getMass() * ry / r ** 3

p.setXVel(p.getXVel() + dt * accx)
p.setYVel(p.getYVel() + dt * accy)

def main():

ss = SolarSystem(2, 2)

sun = Sun('SUN', 5000, 10, 5800)

m = Planet('MERCURY', 19.5, 1000, .25, 0, 2, 'blue')

m = Planet('EARTH', 47.5, 5000, 0.3, 0, 2.0, 'green')

m = Planet('MARS', 50, 9000, 0.5, 0, 1.63, 'red')