Problem mit definition einer funktion gehe_wenn_nah()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
hcx23
User
Beiträge: 1
Registriert: Mittwoch 25. November 2020, 21:55

Hallo,

ich bin noch sehr unerfahren in Python und habe ein Problem mit der Definition einer Funktion.

Sie soll folgendes tun: Funktion gehe_wenn_nah(punkt), 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 aus der Bibliothek daten übergeben und soll die Funktion gehe_wenn_nah(punkt) nacheinander für jeden Wert in dieser Liste aufrufen.

Ich habe versucht es so zu lösen :

Code: Alles auswählen

from daten import punkte_liste
from turtle import distance 
from turtle import goto

def gehe_wenn_nah_(punkt):
    mittelpunkt = (0, 0)
    
    return punkt
    if distance(punkt) < 100:
        goto(punkt)
    else:
        goto(0, 0)
        


for punkt in punkte_liste:
    punkt = gehe_wenn_nah(punkt)
    
gehe_wenn_nah(punkt)
    
Das funktioniert allerdings nicht weil

Code: Alles auswählen

File "aufgabe323.py", line 17, in 
    punkt = gehe_wenn_nah(punkt)
NameError: name 'gehe_wenn_nah' is not defined[/code

Ich verstehe nicht wie ich diese Funktion definieren muss, dass Sie aufgerufen werden kann. Könnt ihr mir da weiterhelfen?

DANKE
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Du mußt der Funktion den richtigen Namen geben, gehe_wenn_nah_ ist nicht gehe_wenn_nah.
Bei einem `return` wird die Funktion verlassen. Was denkst Du ist der Sinn des return bei Dir?
`mittelpunkt` wird definiert aber nicht benutzt.

Datentypen sollten in Variablennamen nicht vorkommen, punkte_liste sollte einfach punkte heißen.
Mit dem Rückgabewert von gehe_wenn_nah machst Du nichts.
Der Aufruf von gehe_wenn_nah nach der Schleife ist unnötig.
Benutzeravatar
ThomasL
User
Beiträge: 1379
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Hallo hcx23, warum stellst du diese Frage nicht im HPI Forum des Kurses "Programmieren lernen mit Python", da wird dir geholfen. Oder über die Möglichkeit in CodeOcean "Kommentar erbitten". Da sind fast immer Leute die dir innerhalb Minuten helfen.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten