Seite 2 von 2

Re: Eingabewert einer Funktion in alle Funktionen übergeben

Verfasst: Sonntag 4. Dezember 2022, 22:45
von Dennis89
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