Frage zu einer Abfrage in Python?

1 Antwort

Hier scheinen viele Informationen zu fehlen, zumindest in dem Code, den du hier abbildest.

Bitte lade mal die vollständige Aufgabe hoch. Aber hier ein paar Punkte:

  1. koordinate=() | Was soll das sein? die Variable 'koordinate' ist hier einfach ein leerer Vektor/Liste. Hier fehlt die 0,0, geht zumindest aus deinem obigen Text hervor
  2.  if distance(position(), koordinate) < (100): | Das kann so nicht funktionieren, da distance per Definition entweder ein Element benötigt distance(x) wenn x selbst ein Vektor ist, oder 2 Elemente hat, wenn x kein Vektor ist, dann also distance(x,y). position liefert aber selbst bereits 2 Elemente (Vektor), daher schmeißt die Zeile direkt einen Fehler.

Ich verstehe daher nicht ganz warum dein Programm überhaupt irgendetwas tut ;) Deshalb bitte einmal alles hochladen.


Metalizer87 
Beitragsersteller
 16.06.2025, 13:21

mit koordinate=() definiere ich doch, dass die ausgabe der forschleife eine liste ist, oder?

dann passt meine if abfrage anscheinend ja nicht. muss ich da quasi einfach in der Klammer nur die gewünschte koordinate angeben und er holt sich die position automatisch von der jetzigen?

Kann es gerade leider nicht testen, da ich nicht am Rechner zuhause bin.

das ist der komplette Code, wie er bei mir im VScode steht.

damit fährt er dann einfach die punkte der liste nach und nach ab.

Metalizer87 
Beitragsersteller
 16.06.2025, 13:28
@Metalizer87

Hier die Aufgabenstellung:

Schreibe eine Funktion gehe_wenn_nah(koordinate), die einen Punkt übergeben bekommt und prüft, ob dieser weniger als 100 Schritte von ihrem aktuellen Standort entfernt ist. Wenn ja, geht sie zu diesem Punkt, wenn nicht, geht sie zu dem Punkt (0, 0).

Abschließend bekommt sie eine Liste mit Punkten namens punkte_liste übergeben und soll die Funktion gehe_wenn_nah(koordinate) nacheinander für jeden Wert in dieser Liste aufrufen.

Slevi89  17.06.2025, 08:20
@Metalizer87

Dann ist der Aufruf deiner Funktion falsch. Du solltest sie so aufstellen:
punkte_liste = [...]

def gehe_wenn_nah(xy):
....

for koordinate in punkte_liste:
gehe_wenn_nah(koordinate)


Slevi89  17.06.2025, 08:21
@Slevi89

P.S. die Einrückungen sind natürlich hier falsch formatiert, drauf achten!

Metalizer87 
Beitragsersteller
 17.06.2025, 08:58
@Slevi89

Vielen Dank. Jetzt funktioniert die Abfrage.