@fragezeichen123: Funktionen können Rückgabewerte haben. ”Echte” Funktionen müssen die sogar haben, sonst sind es eher Prozeduren oder ”Funktionen” die man wegen des Effekts aufruft und nicht wegen des Ergebnis.
`Ball` ist kein guter Name für eine Funktion. Funktionen tun etwas und werden deshalb üblicherweise nach Tätigkeiten benannt. Auch um sie von eher ”passiven” Werten leichter unterscheiden zu können. Zudem ist die Schreibweise mit einem Grossbuchstaben am Anfang per Konvention für Klassen vorbehalten. Du solltest Funktionsnamen und andere Werte die keine Klassen sind, also mit Kleinbuchstaben anfangen lassen. Und falls der Name aus mehreren Worten besteht, werden die durch Unterstriche getrennt. Also beispielsweise `create_ball()`. Der
Style Guide for Python Code hat mehr Informationen dazu.
Die 1 die Du innerhalb der Funktion an einige Namen gehängt hast, macht dort keinen Sinn. Weg damit. Genauso die Vorsible `my`. Das sollte einfach `window` heissen. Und der Wert sollte nicht einfach so verwendet werden. Man sieht ja gar nicht wo der her kommt. Werte die in Funktionen und Methoden verwendet werden, sollten als Argumente übergeben werden. Auf Modulebene gehören nur Definitionen von Konstanten, Funktionen, und Klassen. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst. Dann kann kommt man auch gar nicht erst in Versuchung einfach so einen Wert aus der Umgebung zu verwenden.
Statt der beiden Zahlen würde es vielleicht mehr Sinn machen das `Circle`-Objekt zurück zu geben. Oder mindestens das `Point`-Objekt. Noch sinnvoller wäre aber wahrscheinlich eine eigene Klasse die so ein `Point`- oder `Circle`-Objekt kaspelt.
Welches Rahmenwerk wird da eigentlich für die Darstellung verwendet?