unten ist mein erster ernsthafter Auftrag bei einem Problem der Python 3.13 -Klasse. Ich bin selbst gelehrt. Das Programm ist einfach und die Lösung muss für jemanden mit ein wenig kodierender Erfahrung offensichtlich sein. Variablen.
import math
class Particle:
# CLASS VARIABLES and constants
G = 6.674e-11 # gravity constant kilogram metre second
ME = 5.972e24 # mass earth kg
t = 0 # start time
dt = 1 # time increment seconds
def __init__(self, r, rAng, v, vAng, potE, kinE, totalE):
self.r = r
self.rAng = rAng
self.v = v
self.vAng = vAng
self.potE = potE
self.kinE = kinE
self.totalE = totalE
def move(r, rAng, v, vAng):
a = -Particle.G * Particle.ME / r**2
ax = a * math.cos(rAng)
ay = a * math.sin(rAng)
vx = v * math.cos(vAng) + ax * Particle.dt
vy = v * math.sin(vAng) + ay * Particle.dt
v = (vx**2 + vy**2) ** 0.5
vAng = math.atan2(vy, vx)
rx = r * math.cos(rAng) + vx * Particle.dt + 0.5 * ax * Particle.dt**2
ry = r * math.sin(rAng) + vy * Particle.dt + 0.5 * ay * Particle.dt**2
r = (rx**2 + ry**2) ** 0.5
rAng = math.atan2(ry, rx)
potE = -Particle.G * Particle.ME / r
kinE = 0.5 * 1 * v**2
totalE = potE + kinE
Particle.t += Particle.dt
def result(t, r, rAng, totalE, potE, kinE):
print(
f"t: {Particle.t: >7,d} s\
r: {r/1000:6.3f} km\
rAng: {(rAng*180/3.14159):6.1f}deg\
totalE: {int(totalE*1.0E-6)}MJ\
potE: {int(potE*1.0E-6)}MJ\
kinE: {int(kinE*1.0E-6)}MJ"
)
p = Particle(12748e03, 0, 5592, math.pi / 2, 0, 0, 0)
while Particle.t < 13000:
p.move(p.r, p.rAng, p.v, p.vAng)
if Particle.t % 100 == 0:
p.result(Particle.t, p.r, p.rAng, p.totalE, p.potE, p.kinE)
else:
continue
Particle.t += Particle.dt
< /code>
Es gibt nur 4 Argumente. Python interpretiert 'P.Move' als 5. Argument. Ich habe versucht, die Verweise auf 'P' in den Argumenten zu löschen, aber das führt zu mehr Fehlern. Die Mathematik stapelt sich in Ordnung, daher ist es nur ein Fehler, zwischen 'Partikel' der Klasse und 'P' der Instanz zu referenzieren. Ich konnte im Netz nichts verständliches finden.
Kann jemand helfen? Danke.
Das erste Python -Programm kann Fehler nicht verstehen. ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Problem mit Nan in Python (Pandas): Das Programm kann das Nan nicht erkennen
by Anonymous » » in Python - 0 Replies
- 2 Views
-
Last post by Anonymous
-