Python Alternatives aux Variables Globales

import random  

#----------------------------------------------#
def main():  
    create_list_and_find_max_and_min(10)  
    the_smart_way()
#----------------------------------------------#
def create_list_and_find_max_and_min(n):
    global my_array
    my_array = []
    n = input("How many numbers do you want in your array?:")
    for i in range(n):
        my_array.append(random.randint(1,n))
    print "My array is:", my_array
    #----------------------------------------------#
    min = my_array[0]
    for number in my_array:
    if min > number:
        min = number
    print "The minimum value in the array is:", min
    #----------------------------------------------#
    max = my_array[0]
    for number in my_array:
        if max < number:
        max = number
    print "The maximum value in the array is:", max
#----------------------------------------------#
def the_smart_way():
    # "This one uses the built-in Python functions for min/max..."
    min_my_array = min(my_array)
    max_my_array = max(my_array)
    return min_my_array, max_my_array
#----------------------------------------------#
if __name__ == '__main__':
    main()

Je suis assez nouveau à l'aide de Python. J'ai généralement entendu que l'utilisation de variables globales est une mauvaise pratique lors de la programmation.. Donc existe-il des alternatives à ce que j'essaie de faire ici. Ce qui est d'utiliser la variable "my_array" de l'intérieur d'une autre fonction? Merci!

Veuillez modifier la question si vous ajoutez de l'information ou de suppression des informations inutiles. Poster des commentaires sur les réponses si vous en avez.
Désolé, j'ai essayé de mettre à jour mon code afin de le réparer, et faire remarquer une erreur que je suis encore en train.. :/

OriginalL'auteur Shankar Kumar | 2012-07-12