L'appel de la variable définie à l'intérieur d'une fonction à partir d'une autre fonction

si j'ai ceci:

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=" ")

J'ai défini précédemment lists, donc oneFunction(lists) fonctionne parfaitement.

Mon problème est d'appeler word à la ligne 6. J'ai essayé de définir word à l'extérieur de la première fonction avec le même word=random.choice(lists[category]) définition, mais qui fait word toujours le même, même si je l'appelle oneFunction(lists).

Je veux être en mesure de, à chaque fois que j'appel la fonction première, puis la deuxième, une autre word.

Puis-je le faire sans définir qui word à l'extérieur de la oneFunction(lists)?

Pourquoi ne pas passer word comme un argument de anotherFunction? Envisager def anotherFunction(word): et de l'appeler en conséquence.

OriginalL'auteur JNat | 2012-04-13