reveurduciel
Messages postés5Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention24 juin 2009
-
15 mai 2009 à 17:58
reveurduciel
Messages postés5Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention24 juin 2009
-
15 mai 2009 à 18:33
Bonjour
Il y a quelques chose que je ne comprends pas...
Voilà, j'essaie d'utiliser une fonction du module random de python... D'abord je l'essai sans importer le module.
>>> random.randrange(10,20,2)
Traceback (most recent call last):
File "", line 1, in <module>
random.randrange(10,20,2)
NameError: name 'random' is not defined
Ça ne fonctionne pas, c'est normal. Je vais maintenant tenter d'importer toutes les fonctions du module random...
>>> from random import *
>>> random.randrange(10,20,2)
Traceback (most recent call last):
File "", line 1, in <module>
random.randrange(10,20,2)
AttributeError: 'builtin_function_or_method' object has no attribute 'randrange'
Ça ne fonctionne pas plus. On dirait que l'interpréteur ne reconnait pas la fonction randrange alors que je l'ai importé. J'essai en remplaçant from randor import * par import random
>>> import random
>>> random.randrange(10,20,2)
12
Ça fonctionne. Pourtant from randor import * et import random ne sont-elle pas deux lignes de commandes simillaires ?
reveurduciel
Messages postés5Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention24 juin 20092 15 mai 2009 à 18:33
Hum... en fouillant un peu dans le guide "Apprendre à programmer avec Python", j'ai trouvé la réponse à ma question. Je la poste ici au cas où certain serait curieux/ne le savait pas/ trouve ce sujet par recherche.
En fait, la commande from random import * permet d'intégrer les différentes fonctions d'un module à son code comme si elle avait été écrite par l'utilisateur. Il faut donc utiliser la syntaxe randrange(10,20,2). En gros, il n'est plus nécessaire de spécifier le random.
La commande import random par contre importe l'intégralité des fonctions du module random, mais celui ci doit encore être spécifié. Ici, il faut écrire random.randrange(10,20,2).