Eingabewert einer Funktion in alle Funktionen übergeben

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.
Benutzeravatar
Dennis89
User
Beiträge: 1155
Registriert: Freitag 11. Dezember 2020, 15:13

Das funktioniert jetzt, ist aber noch nicht unbedingt so wie man das haben will.

Üblicherweise wird in Python das Programm aus einer Funktion mit dem Namen 'main' gesteuert und nicht einfach so, wie in deinem Beispielcode.
Code der ohne Einrückungen geschrieben wird hat einen globalen Zustand, das heißt die Namen sind überall verfügbar. Das will man nicht.
Das heißt du brauchst jetzt eine Funktion mit dem Namen 'main' und etwas, dass die Funktion 'main' aufruft wenn das Programm gestartet wird.

Code: Alles auswählen

def frage_name():
    name = input("wie ist der Name:")
    return name

def main():
    name = frage_name()
    print(name)
    
if __name__ == '__main__':
    main()
Wenn du 'name' jetzt in einer anderen Funktion willst, musst du 'name' beim Funktionsaufruf mit übergeben. Dazu schreibt man 'name' beim Funktionsaufruf in die Klammer.

Code: Alles auswählen

def frage_name():
    name = input("wie ist der Name:")
    return name

def weiterverarbeiten(name):
    print(f'In weiterverarbeiten haben wir jetzt den Name: {name}')

def main():
    name = frage_name()
    print(name)
    weiterverarbeiten(name)

if __name__ == '__main__':
    main()
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Antworten