Seite 1 von 1

For-Schleife arbeitet nicht richtig

Verfasst: Donnerstag 17. Juni 2021, 15:21
von Phineas
Guten Tag,
ich habe das Problem, dass die for-Schleife nicht so arbeitet wie ich mir das vorstelle.
Ich muss eine Funktion auf eine Liste anwenden. Der Wert P2 soll nach und nach alle Werte in der liste_Geo annehmen und die Function geodist soll ausgeführt werden. Danach sollen die sieben geringsten Werte für die Variable "Entfernung" ausgegeben werden.
hat da jemand eine Idee?

for Werte in liste_Geo:
if __name__=="__main__":
P1 = Eingabe
P2 = liste_Geo
Entfernung = round(float(geodist(P1, P2)),1)
liste_Abstand = []
liste_Abstand.append(Entfernung)
x = min(liste_Abstand)
for i in range(7):
print(f'''{i+1}. Rang:
Entfernung: {x} km
Ort: {liste_Ort}
Name: {liste_Bauwerke}
Zustandnote: {liste_Zustandsnote}
Link: {liste_Link}
---------------------

''')

Vielen dank im Voraus

Re: For-Schleife arbeitet nicht richtig

Verfasst: Donnerstag 17. Juni 2021, 15:59
von Sirius3
Was stellst Du Dir denn vor?
Es gibt ja wahrscheinlich eine Fehlermeldung. Wie lautet die?
Oder was hast Du Dir für jede Zeile,die Du geschrieben hast, gedacht?
`Eingabe` ist nirgends definiert. `Werte` wird gar nicht benutzt. `liste_Abstand` enthält immer nur einen Wert, davon das Minimum ist nicht sehr spannend.

Re: For-Schleife arbeitet nicht richtig

Verfasst: Donnerstag 17. Juni 2021, 16:21
von Phineas
Ich habe hier nur einen kleinen Ausschnitt aus dem Programm hochgeladen.
"Eingabe" ist definiert.

Eine Fehlermeldung gibt es nicht, aber wie du sagst enthält "liste_Abstand" immer nur einen Wert und das soll nicht so sein, die Liste soll alle aus der Funktion Geodist berechneten Werte enthalten.

Und P2 soll jeden Wert aus liste_Geo annehmen. In der CSV-Datei sind 52180 Zeilen und diese sind in liste_Geo zwischen gespeichert

Re: For-Schleife arbeitet nicht richtig

Verfasst: Donnerstag 17. Juni 2021, 17:27
von __deets__
Du berechnest aber nur einen Wert. Wo sollen dann mehr herkommen?

Es ist keine gute Idee, den Code so einzukürzen, wenn du offensichtlich mit Python noch auf dem Kriegsfuß stehst. Poste den gesamten Code, in den dafür vorgesehenen Code Tags (</>-Knopf im vollständigen Editor).

Re: For-Schleife arbeitet nicht richtig

Verfasst: Mittwoch 4. August 2021, 19:16
von YAPD
Hey,

Wie sieht deine Liste denn aus ? Und was machst du mit "Eingabe" bei Aufruf von "geodist" ?
So können wir dir schwer helfen.

VG
YAPD

Re: For-Schleife arbeitet nicht richtig

Verfasst: Mittwoch 4. August 2021, 19:52
von rogerb
@Phineas,
Ich muss eine Funktion auf eine Liste anwenden. Der Wert P2 soll nach und nach alle Werte in der liste_Geo annehmen und die Function geodist soll ausgeführt werden. Danach sollen die sieben geringsten Werte für die Variable "Entfernung" ausgegeben werden.

Über leg dir mal was in 'liste_Abstand' steht, nachdem diese beiden Zeilen abgearbeitet wurden. Wie oft werden diese Zeilen ausgeführt?

Code: Alles auswählen

liste_Abstand = []
liste_Abstand.append(Entfernung)