Hallo!
Ich habe eine Funktion, die in einem Dict Ergänzungen zufuegen kann. Ich möchte dass dies Ergänzungen halt für den weiteren Verlauf des Gesamtprogramms als Basis mit gespeichert werden.
Ich denke ich müsste dann eig einfach eine neue Variable mit dem returnwert der Funktion in das Programm bauen.
also etwa so :
ergaenzungen()
# das ist die Funktion, die ich erstellt habe ....als return ist 'neues_dict' ---> also ein Dictionary
neu=ergaenzungen()
So funktioniert das aber leider nicht...:/
Wisst ihr, wie das geht, bzw. habt ihr ne Idee??
Vielen Dank schon einmal für Antworten! LG
den returnwert einer Funktion im weiteren Verlauf speichern
Ich habe einen Verdacht. Meine Glaskugel ist jedoch aufgrund von Koffeinmangel etwas trüb. Etwas mehr (überhaupt) Quelltext wäre hilfreich.
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Deine Problembeschreibung ist nicht wirklich klar.Lena hat geschrieben:So funktioniert das aber leider nicht...:/
Nehmen wir mal an, dass folgender Code vorhanden wäre.
Code: Alles auswählen
def add_settings(data):
data['Z'] = 3
return data
def main():
settings = {'A': 1, 'B': 2}
new_settings = add_settings(settings)
if __name__ == '__main__':
main()
also es geht ja nur darum, das der Wert, der in return steht in dem weiteren Programm übernommen wird
def new():
alt={"hallo":["hey", "hola"], "tschüsse:["bye", "adios"]}
neu=alt
neues=str(input("Geben Sie ein neues Wort ein."))
neueswort=neues.lower()
#uebungen[wunsch].append(zusatz)
neu[wunsch].append(zusatz)
return (neu)
#also 'alt' steht in dem regulären Programmcode ebenfalls. Ich möchte dass alt dann so durch neu ersetzt wird, dass wenn ich die Funktion erneut aufrufe, ich die Werte die ich vor einer Std geändert habe immer noch da sind, auch wenn ich das Programm zwischenzeitlich geschlossen habe....
def new():
alt={"hallo":["hey", "hola"], "tschüsse:["bye", "adios"]}
neu=alt
neues=str(input("Geben Sie ein neues Wort ein."))
neueswort=neues.lower()
#uebungen[wunsch].append(zusatz)
neu[wunsch].append(zusatz)
return (neu)
#also 'alt' steht in dem regulären Programmcode ebenfalls. Ich möchte dass alt dann so durch neu ersetzt wird, dass wenn ich die Funktion erneut aufrufe, ich die Werte die ich vor einer Std geändert habe immer noch da sind, auch wenn ich das Programm zwischenzeitlich geschlossen habe....
@Lena: Du willst also den Inhalt von Deinem Wörterbuch in eine Datei schreiben und sie beim nächsten Programmstart wieder lesen. Dazu bietet sich das json-Modul an, dass Wörterbücher mit Listen und Strings und anderen Basisdatentypen in Dateien schreiben und lesen kann.
Bitte setze deinen Code in die passenden Code-Tags damit er korrekt angezeigt wird.Lena hat geschrieben:Code: Alles auswählen
alt={"hallo":["hey", "hola"], "tschüsse:["bye", "adios"]} neu=alt
Dieses neu = alt tut nicht das, was du denkst. Ich verweise da auf meinen vorherigen Beitrag. Du erstellst dort keine Kopie von alt, sondern bindest nur zusätzlich den Namen neu an das gleiche Objekt.
Zuletzt geändert von /me am Freitag 26. Juni 2015, 08:21, insgesamt 2-mal geändert.
Dann ist das ja eine wunderbare Gelegenheit zum Lernen. Schau dir die Dokumentation zu json an. Mehr als die jetzt hierhin zu kopieren könnten wir auch nicht machen. Wenn dann spezielle Fragen da sind, dann können wir wieder sinnvoll weiterhelfen.Lena hat geschrieben:Ich kenn mich leider noch nicht so gut aus :/...
Wenn du auf der angegebenen Seite oben in die Breadcrumb-Navigation schaust dann siehst du, dass das zum Bereich "The Python Standard Library" gehört. Ergänzend zum Durcharbeiten des Tutorials solltest du zumindest der Übersicht der Standard Library ruhig mal einen Blick gönnen um eine Idee davon zu bekommen was alles dabei ist.Lena hat geschrieben:muss man das erst downloaden bevor man es importieren kann, oder ist es schon bei python mit drin?