@Wired1.0.: Nicht viel Sinn okay, da kann man aber schon erkennen was erreicht werden soll, aber da sind einige Fehler drin die verhindern, dass das überhaupt gültiger Python-Quelltext ist. So ein bisschen Mühe könnte man sich ja schon geben.
Die Einrückung stimmt nicht, Zeichenketten werden nicht durch einen entsprechenden Begrenzer beendet, beziehungsweise werden mit falschen Begrenzern auf mehr als eine Zeile verteilt, oder es fehlen die Begrenzer gleich ganz.
Und wenn man die Syntaxfehler ausgebügelt hat, kommen offensichtliche Laufzeitfehler wie falsche Anzahl von Argumenten bei Funktionsaufrufen und die Verwendung von undefinierten Namen. Python unterscheidet zwischen Gross- und Kleinschreibung bei Namen.
Führt zu keinem Laufzeitfehler aber der Vergleich von einer Zeichenkette mit einer ganzen Zahl ergibt *immer* `False`, das heisst es wird nie eine Frage gestellt was derjenige, der den Ball holt, denn nun bekommt.
Dann die Konventionen. Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Man nummeriert keine Namen. Dann will man sich entweder bessere Namen überlegen, oder gar keine Einzelnamen/-werte verwenden, sondern eine Datenstruktur. Oft eine Liste.
Auf Modulebene sollte nur Code stehen der Konstanten, Funktionen, und Klassen definiert. Das Hauptprogramm steht üblicherweise in einer Funktion die `main()` heisst.
Code: Alles auswählen
#!/usr/bin/env python3
def main():
names = ["Klaus", "Dieter", "Hans"]
#
# TODO Behandlung von Fehleingaben, also keine Zahl und Zahl ausserhalb von
# 1 bis ``len(names)``.
#
choice = int(input("Wer holt den Ball? Wähle eine Option: "))
#
# TODO Behandlung von Fehleingaben, also keine Zahl und eventuell auch
# negative (und 0?) ausschliessen.
#
money = int(
input(f"{names[choice - 1]} holt den Ball. Was bekommt er dafür?")
)
...
if __name__ == "__main__":
main()