IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Nombre aléatoire Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 8
    Par défaut Nombre aléatoire Python
    Bonjour,

    Je suis débutante en Python.
    J'ai besoin de pouvoir générer des nombres aléatoires, mais je n'y arrive pas.
    A priori la bibliothèque "random" devrait être présente sur toutes les versions de Python, mais ça n'a pas l'air d'être le cas pour moi (ou alors j'ai raté quelque chose) car voici ce qui s'affiche quand j'essaye d'utiliser "randint" par exemple:

    https://zupimages.net/up/20/15/wilt.png

    Et quand j'essaye d'installer manuellement la bibliothèque "random" avec le "pip install" ça ne marche pas non plus.
    Je suis donc complètement bloquée.
    Une idée? Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    "randint" fait partie du module "random" et il faut importer ce module pour accéder à ses fonctions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from random import randint
    print(randint(1,9))
    module random => https://docs.python.org/fr/3/library...#module-random

    Un petit tuto ferait du bien: https://python.developpez.com/cours/apprendre-python3/

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 8
    Par défaut
    Merci pour vos réponses, cela fonctionne!

    J'essayais directement le "randint" car on m'avait dit que la bibliothèque "random" était installée de base dans toutes les versions de Python (ce qui n'est clairement pas le cas a priori).

    J'avais essayé cela pour télécharger la bibliothèque "random":

    Mais ça n'a jamais fonctionné, j'ai toujours eu un message d'erreur de Python.
    J'avais pourtant utilisé cette méthode pour installer les bibliothèques numpy et matplotlib et ça avait très bien marché...

    tyrtamos: Le "print" est-il nécessaire? Car si on l'enlève ça marche aussi, Python renvoie le nombre. Ou alors ça a une autre fonction?

  4. #4
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Citation Envoyé par Bouboucam Voir le message
    Merci pour vos réponses, cela fonctionne!

    J'essayais directement le "randint" car on m'avait dit que la bibliothèque "random" était installée de base dans toutes les versions de Python (ce qui n'est clairement pas le cas a priori).
    ba si, c'est clairement le cas, de base microsoft edge est installé de base dans windows 10, c'est pas pour autant qu'il tourne H24, bah pour random c'est un peu pareil (cf mon message)

    Mais ça n'a jamais fonctionné, j'ai toujours eu un message d'erreur de Python.
    Les messages d'erreurs sont vos meilleurs amis, c'est quand même mieux qu'un programme qui se ferme dans dire pourquoi quand il y a une erreur.

    J'avais essayé cela pour télécharger la bibliothèque "random":



    J'avais pourtant utilisé cette méthode pour installer les bibliothèques numpy et matplotlib et ça avait très bien marché...
    J'ai déjà un très mauvais préjugé sur les profs qui ne font que des copier coller en croyant avoir compris parce que "Python c'est facile, on peu tracer des graphiques avec 20 lignes de code" sans regarder les subtilités ... s'il vous plaît n'alimentée pas encore un peu plus mes préjugés ...

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 8
    Par défaut
    Merci tyrtamos pour la réponse.

    Citation Envoyé par flapili Voir le message
    ba si, c'est clairement le cas, de base microsoft edge est installé de base dans windows 10, c'est pas pour autant qu'il tourne H24, bah pour random c'est un peu pareil (cf mon message)
    Pour vous c'est peut-être évident, mais moi je n'y comprends rien, je débute! Il pouvait paraître logique de croire que si quelque chose était installé dans le logiciel, cela tournait "de base". Parce que c'est un logiciel justement (et pas un système d'exploitation dans lequel on n'utilise pas forcément tous les programmes pour reprendre votre exemple).

    Citation Envoyé par flapili Voir le message
    Les messages d'erreurs sont vos meilleurs amis, c'est quand même mieux qu'un programme qui se ferme dans dire pourquoi quand il y a une erreur.
    Nous sommes bien d'accord. Mais encore faut-il comprendre le message d'erreur en question pour en tirer les leçons nécessaires...

    Citation Envoyé par flapili Voir le message
    J'ai déjà un très mauvais préjugé sur les profs qui ne font que des copier coller en croyant avoir compris parce que "Python c'est facile, on peu tracer des graphiques avec 20 lignes de code" sans regarder les subtilités ... s'il vous plaît n'alimentée pas encore un peu plus mes préjugés ...
    Pourquoi être si méprisant? Oui je suis prof et non je ne pense clairement pas que Python est facile! D'ailleurs je suis en galère et je suis venue ici chercher de l'aide, pas me heurter à des préjugés!
    Quand j'ai fait mes études, il n'y avait encore aucune programmation nécessaire pour enseigner ma matière. Je n'ai donc jamais programmé de ma vie!
    Alors oui, la programmation ce n'est pas mon truc, mais ce n'est pas en me rabaissant que cela va m'aider!
    J'essaye de me familiariser avec un outil que je me dois aujourd'hui d'enseigner à mes élèves. Alors oui je fais parfois des copier/coller mais parce que c'est tout ce que j'ai! Et que j'essaye d'apprendre toute seule, en piochant des choses à droite à gauche sur le net. Personne ne m'aide, et je n'ai reçu aucune formation.
    Désolée d'essayer... et de me tromper!

  6. #6
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Je ne suis pas méprisant, mais contrairement aux mathématiques par exemple si l'on a pas les bases bah on ne peux pas faire de truc avancés avec la programmation on peut toujours faire un copié collé et voir qu'un code avec des notions avancées tourne, donc on se dit qu'on va pouvoir décortiquer le programme avancé pour comprendre, mais sans les bases comme j'ai dis on passe à coté des "subtilités".

    du coup c'est comme pour n'importe quelle discipline, d'abord les bases puis après les trucs compliqués.

    Vous avez le droit de débuter, de vous tromper, je ne vous le reproche en rien.
    Ce que je vous reproche c'est que sans avoir les bases vous essayez des bibliothèques tel que numpy ou matplotlib, on n'apprends pas les concepts de base en étudiant les concepts avancés tout en y appliquant en sorte de rétro-ingénierie, et le faite d'être enseignant ou non n'y change rien c'est et ça sera toujours reprochable.

    Ce que je vous reproche encore plus c'est que vous risquez de présenter du code avancé à moitié écrit par vous à vos élèves, or la partie écrite par vous sera sans doute plein de malfaçons et vous risquerez de transmettre ses malfaçons ...

    J'ai essayé d'expliquer un concept qui fait parti des bases dans mon premier message, en effet installé ne veux pas dire disponible tout le temps, sinon si tout ce qui devait être installé par défaut devait être disponible tout le temps vous auriez le temps de prendre un café au lancement de Python (et je dis un café mais ce serait plutôt une cafetière).
    mais vous préférez répondre
    Pour vous c'est peut-être évident, mais moi je n'y comprends rien, je débute! Il pouvait paraître logique de croire que si quelque chose était installé dans le logiciel, cela tournait "de base". Parce que c'est un logiciel justement (et pas un système d'exploitation dans lequel on n'utilise pas forcément tous les programmes pour reprendre votre exemple).
    Si mon premier message ne vous a pas aidé n'hésitez pas à demander des clarifications ou des exemples concret à Python ainsi ça m'évitera d'essayer de faire des parallèles simple à réfuter puisqu'il suffit de dire "c'est pas pareil" puisque en effet c'est un parallèle du style "c'est un peu comme [...]" qui était utilisé pour que votre intuition vous aide et que vous vous disiez "ah oui ok c'est un peu comme dans un système d'exploitation on peut pas forcément tout charger en mémoire parce que c'est pas forcément pertinent de tout charger en mémoire, ça charge à la demande"


    Là votre réaction aurait du être d'aller voir la notion d'espace de nom, et non pas de la pseudo rétro-ingénierie à base de "oui mais pour numpy et matplotlib ça marchait comme ça" justement parce que ces deux bibliothèques ne sont pas installées par défaut, mais il dois bien y avoir un import numpy quelque part dans un bout de copié collé non ?


    Je ne suis pas là pour vous stigmatiser, je ne suis ni sadique ni méchant ni rien d'autre, je vous dit juste de revoir les bases avant de vous attaquer à des monstres de complexité pour vous mais aussi pour vos élèves.
    Pour les bases les ressources telles que les tutoriels sont nombreux mais bien sur rien ne vous empêche de demander de l'aide, à partir du moment où votre démarche est la bonne bien sur sinon ...

  7. #7
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    On peut se passer du print uniquement quand on est dans la console python interactive. Mais quand on développe un programme, on le fait avec un éditeur de texte, et le print est alors nécessaire.

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Bouboucam Voir le message
    Merci pour vos réponses, cela fonctionne!

    J'essayais directement le "randint" car on m'avait dit que la bibliothèque "random" était installée de base dans toutes les versions de Python (ce qui n'est clairement pas le cas a priori).
    Si ce n'est clairement pas le cas, comment alors pouvez-vous dire que ça fonctionne ???

    Il ne faut pas confondre "c'est installé" et "je peux l'utiliser". random fait partie des bibliothèques de base Python donc installées donc accessibles sur simple demande. Mais encore faut-il quand-même le demander. C'est ce qu'a expliqué flapili quand il parle de l'import.

    Citation Envoyé par Bouboucam Voir le message
    J'avais pourtant utilisé cette méthode pour installer les bibliothèques numpy et matplotlib et ça avait très bien marché...
    Parce que numpy et matplotlib, au contraire de random, ne sont pas installées par défaut. Toutefois, une fois que numpy et matplotlib furent intallées de par votre action pip install ..., vous ne l'avez pas importé dans votre code Python pour vous en servir ? Un petit peu de réflexion saupoudrée de déduction sur le but de cette instruction import numpy vous auraient alors orienté vers la voie du import random.

    Citation Envoyé par Bouboucam Voir le message
    D'ailleurs je suis en galère et je suis venue ici chercher de l'aide, pas me heurter à des préjugés!
    J'essaye de me familiariser avec un outil que je me dois aujourd'hui d'enseigner à mes élèves. Alors oui je fais parfois des copier/coller mais parce que c'est tout ce que j'ai! Et que j'essaye d'apprendre toute seule, en piochant des choses à droite à gauche sur le net. Personne ne m'aide, et je n'ai reçu aucune formation.
    Et vous pensez que pour nous il en a été différemment ? Que Python nous a été inculqué pendant que nous étions conçus dans nos cocons d'extraterrestres ?
    Vous avez pensé à taper "python tutoriel" dans votre moteur de recherche préféré ou bien vous vous êtes dit qu'étant prof vous étiez bien au dessus de ça ? Perso de mon côté je suis ingé info, j'ai codé en C pendant plusieurs années, je l'ai même enseigné pendant aussi plusieurs années (donc moi aussi je suis prof) mais quand j'ai voulu apprendre Python, je suis quand-même passé par la phase "je télécharge un tutoriel" puis "je l'ouvre à la page 1 et je commence à lire". Je ne dis pas que j'ai tout lu (ok là quand-même mon passé m'a aidé à sinon sauter mais du moins survoler beaucoup de pages) mais néanmoins cette phase reste incontournable. Alors oui ça prend du temps, mais c'est un investissement rentable.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Si cela t'intéresse, j'ai animé une journée d'initiation python pour les profs de maths, SI et Physique-chimie.
    Je peux te fournir les docs pour débuter.
    Au cas où...

  10. #10
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    il faut l'importer, ce pour une raison très simple: beaucoup de bibliothèque sont installé par défaut avec Python, mais toutes les chargées prendrait un temps fou, d'autant plus que tout le monde n'as pas besoin de random tout le temps donc à quoi bon tout le temps le charger ?

    après il faut aussi faire attention aux espaces de nom:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import random# -> random.randint(...)
    from random import randint # -> randint(...)
    from random import * # -> randint(...) déconseillé
    edit: prit de vitesse par une autruche, c'est que ça court vite comme bestiole

Discussions similaires

  1. Nombre aléatoire Python premiere S
    Par micpo457 dans le forum Général Python
    Réponses: 13
    Dernier message: 10/02/2018, 16h33
  2. Nombres aléatoires
    Par Mat 74 dans le forum Assembleur
    Réponses: 20
    Dernier message: 29/08/2004, 13h31
  3. recherche algo de génération de nombre aléatoire
    Par Pascale38 dans le forum MFC
    Réponses: 2
    Dernier message: 26/01/2004, 14h20
  4. Nombre aléatoire en SQL
    Par sqlnet dans le forum Langage SQL
    Réponses: 8
    Dernier message: 19/08/2003, 12h38
  5. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo