Aufruf definierte variable innerhalb einer Funktion aus einer anderen Funktion

wenn ich diese habe:

def oneFunction(lists):
    category=random.choice(list(lists.keys()))
    word=random.choice(lists[category])

def anotherFunction():
    for letter in word:              #problem is here
        print("_",end=" ")

Habe ich vorher definiert lists, so oneFunction(lists) funktioniert perfekt.

Mein problem ist der Aufruf word in Zeile 6. Ich habe versucht, zu definieren word außerhalb der ersten Funktion mit der gleichen word=random.choice(lists[category]) definition, aber das macht word immer das gleiche, auch wenn ich den Anruf oneFunction(lists).

Ich möchte in der Lage sein, jedes mal ich rufen Sie die erste Funktion und die zweite, eine andere word.

Kann ich dies tun, ohne die Festlegung, dass word außerhalb der oneFunction(lists)?

Warum nicht pass word als argument zu anotherFunction? Betrachten def anotherFunction(word): und den Aufruf entsprechend.

InformationsquelleAutor JNat | 2012-04-13

Schreibe einen Kommentar