Ich bin noch ziemlich unerfahren was Python und auch Programmierung allgemein betrifft. Als Übungsprojekt schreibe ich ein Programm, das mir Siebversuche auswertet (ich studiere Geowissenschaften). Der Ablauf und die Auswertung eines solchen Versuchs erfolgt nach einer klaren Linie und die Parameter, die ich aus solch einem Versuch gewinnen kann, bauen aufeinander auf. Ich brauche zum Beispiel eine Funktion, die mir den Korndurchmesser bei 60% und bei 10% Durchgang ausrechnet und eine andere, die mir daraus die Ungleichförmigkeit berechnet. Ich würde gerne eure Meinung zum Aufbau meines Programms wissen, da ich mir selbst nicht ganz sicher bin, ob das denn so sinnvoll ist.
Code: Alles auswählen
class siebversuch(object):
def __init__(self, einwaage, siebe, rueck):
self.einwaage = einwaage
self.siebe = siebe
self.rueck = rueck
def verlust(self):
"""Berechnet den Siebverlust als Differenz zwischen Einwaage und der
Summe der Rückstände.
"""
self.verlust = self.einwaage - sum(self.rueck)
return self.verlust
def durch(self):
"""Berechnet die Durchgänge für jedes Sieb. Rückgabe als list in Gramm."""
self.durch = []
for i in range(len(rueck)):
self.durch.append(sum(self.rueck)-self.rueck[i])
def kum_rueck_gr(self):
"""Berechnet die kumulativen Rückstände in Gramm"""
self.kum_rueck_gr = []
for i in range(len(self.rueck)):
if i == 0:
self.kum_rueck_gr.append(self.rueck[i])
else:
self.kum_rueck_gr.append(self.kum_rueck_gr[i-1]+self.rueck[i])
return self.kum_rueck_gr
def kum_rueck_pr(self, kum_rueck_gr):
"""Berechnet die kumulativen Rückstände in Prozent"""
self.kum_rueck_pr = []
for i in range(len(self.rueck)):
self.kum_rueck_pr.append((self.kum_rueck_gr[i]/sum(self.rueck)) * 100)
return self.kum_rueck_pr
def kum_durch_gr(self, kum_rueck_gr):
"""Berechnet über die kumulativen Rückstände die kumulativen Durchgänge
in Gramm.
kum_rueck_gr -- kumulative Rückstände in Gramm.
"""
self.kum_durch_gr=[]
for i in range(len(self.kum_rueck_gr)):
self.kum_durch_gr.append(sum(self.rueck) - self.kum_rueck_gr[i])
return self.kum_durch_gr
def kum_durch_pr(self, kum_rueck_pr):
"""Berechnet über die kumulativen Rückstände die kumulativen Durchgänge
in Prozent.
kum_rueck_pr -- kumulative Rückstände in Prozent.
"""
self.kum_durch_pr=[]
for i in range(len(self.kum_rueck_gr)):
self.kum_durch_pr.append(100 - self.kum_rueck_pr[i])
return self.kum_durch_pr
Code: Alles auswählen
s.kum_durch_pr(s.kum_rueck_pr(s.kum_rueck_gr()))