Funktionen
Verfasst: Donnerstag 7. September 2017, 17:38
Moin ich hoffe das ist nicht zu viel Code für mein Frage aber ich schicke lieber mehr als zu wenig.
Es geht nur um den Teil ab dem comment "X-Koordinate". Der Code funktioniert, wenn ich nur den Teil mit "X-Koordinate" einkommentiere. Wenn ich den Teil mit "Y-Koordinate" und "Z-Koordinate" einkommentiere funktioniert er nicht mehr. Ich weiß nicht warum :K
Ich habe das Gefühl das hat was damit zu tun, dass Variablen unbemerkt überschrieben werden, was für Leute die neu in Python sind, wie ich, immer erstaunlich ist. So wie hier ganz unten: http://www.python-course.eu/sequential_data_types.php
Das Ziel des Codes ist, dass x_min, x_max etc. ausgerechnet werden. Ich wette der Rest verwirrt euch jetzt
Der Rest ist aber nur das Auslesen von der asd.fem und das funktioniert auch.
Falls ich noch mehr erklären soll bitte sagen!
Es geht nur um den Teil ab dem comment "X-Koordinate". Der Code funktioniert, wenn ich nur den Teil mit "X-Koordinate" einkommentiere. Wenn ich den Teil mit "Y-Koordinate" und "Z-Koordinate" einkommentiere funktioniert er nicht mehr. Ich weiß nicht warum :K
Ich habe das Gefühl das hat was damit zu tun, dass Variablen unbemerkt überschrieben werden, was für Leute die neu in Python sind, wie ich, immer erstaunlich ist. So wie hier ganz unten: http://www.python-course.eu/sequential_data_types.php
Das Ziel des Codes ist, dass x_min, x_max etc. ausgerechnet werden. Ich wette der Rest verwirrt euch jetzt

Falls ich noch mehr erklären soll bitte sagen!
Code: Alles auswählen
n_max=[0.0,0.0]
n_min=[0.0,0.0]
x_max=[0.0,0.0]
x_min=[0.0,0.0]
y_max=[0.0,0.0]
y_min=[0.0,0.0]
z_max=[0.0,0.0]
z_min=[0.0,0.0]
p0=[]
text = open("asd.fem","r")
lines = (line.rstrip("\n") for line in text)
lines = (line for line in lines if line)
for line in lines:
v=line.split()
if v[0]=="GRID":
#NUM_ELEM_X & NUM_ELEM_Y & NUM_ELEM_Z
# X Koordinate
if line[29:30]=="-":
x = float(line[24:29] + "e" + line[29:32])
else:
x = float(line[24:32])
find_max_min(x,x_max,x_min)
x_max = n_max
x_min = n_min
# Y Koordinate
if line[37:38]=="-":
y = float(line[32:37] + "e" + line[37:40])
else:
y = float(line[32:40])
find_max_min(y,y_max,y_min)
y_max = n_max
y_min = n_min
# Z Koordinate
if line[45:46]=="-":
z = float(line[40:45] + "e" + line[45:48])
else:
z = float(line[40:48])
find_max_min(z,z_max,z_min)
z_max = n_max
z_min = n_min
def find_max_min(n,n_max,n_min):
if n > n_max[0]:
n_max[1] = n_max[0]
n_max[0] = n
elif n > n_max[1] and n < n_max[0]:
n_max[1] = n
elif n < n_min[0]:
n_min[1] = n_min[0]
n_min[0] = n
elif n < n_min[1] and n > n_min[0]:
n_min[1] = n