Hallo alle miteinander,
ich hab ein kleines (vielleicht auch großes) Problem mit einer while-schleife.
Ich habe 4 geordnete Zahlenpaare gegeben (Koordinaten), diese sind wie ein Rechteck angeordnet. Nun sollen auf den senkrechten Achsen Zwischenpunkte berechnet werden, die für später wichtig sind. Also auf den y-Wert der Punkte 1 und 2 soll ein bestimmter Wert m addiert werden und das ganze, n mal. D.h. solange, bis man bei der Addition von dem y-Wert und m den Y-Wert vom Punkt 3 oder 4 erreicht hat.
Eckpunkte des Rechtecks, schematisch:
Code: Alles auswählen
p1 p2
m m'
m+1 m'+1
...
p3 p4
Code: Alles auswählen
def Zwischenpunkte_erstellen():
#Abstand
spur = 50
#Punktekoordinaten
punkt1 = [-8003, 4150]
punkt2 = [5002, 4140]
punkt3 = [-7980, -3506]
punkt4 = [4988, -3189]
#Mit Werte sind die Zwischenwerte gemeint
Werte = punkt1, punkt2
print Werte # nur zur überprüfung
#hier soll geprüft werden, ob der Y-Wert von Punkt1 kleiner gleich dem Y-Wert von Punkt3 ist
#UND AUCH der Y-Wert von Punkt2 kleiner gleich dem Y-Wert von Puntk4
while punkt1[1] <= punkt3[1] and punkt2[1] <= punkt4[1]:
#Neuberechnung der Y-Koordinaten der Punkte 1 und 2 mit dem Wert für die Spur/Abstand
punkt1[1] += spur
punkt2[1] += spur
Werte.append(punkt1, punkt2)
print Werte
return Werte
Nur kann ich mir nicht wirklich erklären, woran das liegt, da ja nur die angegebenen Werte verglichen werden sollen.
Ich hab auch schon versucht die Indizes rauszunehmen, nur mit dem selben Ergebnis.
Kann es vielleicht sein, dass man bei einer while-schleife keine "doppelten" Bedingungen angeben kann bzw. die vielleicht anders verknüpft werden, als mit ''and''?
Vielen Dank schon mal im Vorraus.
LG
Daniela