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 :

fonction remplissage (n)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2023
    Messages : 3
    Par défaut fonction remplissage (n)
    Bonjour a tous, mon prof demande de faire un travail sur python mais je n'arrive pas à faire l'intitulé suivant : écrire une fonction remplissage(n) qui renvoie un tableau t contenant n nombres entiers aléatoires et < 1000.
    Je suis débutant en la matière je galère beaucoup merci d avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Bonjour.

    Montrez votre code, que l'on puisse voir ce que vous avez essayé.

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2023
    Messages : 3
    Par défaut reponse fonction remplissage
    Voici ce que j'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import random
     
    tableau = []
    for i in range(10):
        random.randint(0,1000)
        tableau.append(i)
     
    print(tableau)
    J'ai 2 problèmes ici, je ne sais pas si j'utilise la bonne manière pour définir un tableau, je crois que je fais seulement une liste ici.

    Et j'obtiens comme résultat [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alors que je veux des nombres aléatoires et non des nombres qui se suivent

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Tableau, liste, c'est pareil.

    Vous pouvez mettre votre code entre balises [CODE] SVP ? Regardez la vidéo dans ma signature

    Dans votre code, i est la variable qui parcoure un range compris entre 0 et 9 et c'est cette valeur que vous stockez dans votre liste.

    A côté, vous générez 10 fois un nombre aléatoire mais n'en faites rien.

    Et que devez-vous stocker dans votre liste ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2023
    Messages : 3
    Par défaut
    Citation Envoyé par Arioch Voir le message
    Tableau, liste, c'est pareil.

    Vous pouvez mettre votre code entre balises [CODE] SVP ? Regardez la vidéo dans ma signature

    Dans votre code, i est la variable qui parcoure un range compris entre 0 et 9 et c'est cette valeur que vous stockez dans votre liste.

    A côté, vous générez 10 fois un nombre aléatoire mais n'en faites rien.

    Et que devez-vous stocker dans votre liste ?
    il faut que je remplisse cette liste de nombres aléatoires qui sont inférieurs a 1000, pour en faire une fonction et l'exploiter pour un programme

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Votre logique de code est presque bonne, si tant est que ce n'est pas le range qui doit alimenter votre liste mais les nombres aléatoires générés.

    Après, pour en faire une fonction, rien de bien compliqué.

    M'enfin, tout dépend de ce que vous avez déjà lu sur le langage.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 736
    Par défaut
    Citation Envoyé par antoinesSSSSS Voir le message
    il faut que je remplisse cette liste de nombres aléatoires qui sont inférieurs a 1000, pour en faire une fonction et l'exploiter pour un programme
    Vous ne pourrez pas faire d'une liste une fonction.
    Programmer demande d'être plus rigoureux que lorsqu'on s'exprime en français....
    Ce qui commence par essayer de se relire pour s'assurer qu'on raconte bien ce qu'on veut dire.
    Comme on relit son code pour s'assurer que le nombre aléatoire retourné par random va bien dans la liste.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    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 830
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par antoinesSSSSS Voir le message
    écrire une fonction remplissage(n) qui renvoie un tableau t contenant n nombres entiers aléatoires et < 1000.
    ...
    Voici ce que j'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import random
     
    tableau = []
    for i in range(10):
        random.randint(0,1000)
        tableau.append(i)
     
    print(tableau)
    Elle est où la fonction "remplissage()"? Les premiers mots de ton énoncé sont clairs, pourquoi alors tu ne suis pas ses directives?

    Citation Envoyé par antoinesSSSSS Voir le message
    J'ai 2 problèmes ici, je ne sais pas si j'utilise la bonne manière pour définir un tableau, je crois que je fais seulement une liste ici.
    Ben faut te mettre un peu aux tutos qui expliquent les tableaux et qui expliquent que dans Python, on les appelle "liste"

    Citation Envoyé par antoinesSSSSS Voir le message
    Et j'obtiens comme résultat [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alors que je veux des nombres aléatoires et non des nombres qui se suivent
    Ben au lieu de stocker "i" dans ton tableau, stockes-y le nombre aléatoire que tu as tiré (en plus sans en faire quoi que ce soit)...
    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 actif
    Homme Profil pro
    Amateur débutant
    Inscrit en
    Décembre 2019
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Amateur débutant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 88
    Par défaut
    Bonjour Antoine,

    Si votre énoncé dit de faire un "tableau" et que, lors de la correction, c'est une liste qui est utilisée.. alors Oui, c'est bien qu'il y avait un confusion sur les termes.
    Car un truc comme : l = [1, 2, 4] s'appelle une liste.

    Mais si l'énoncé s'attend à ce que vous placiez vraiment un "tableau", c'est peut être qu'il vous faut utiliser une bibliothèque qui s'appelle numpy.
    En effet, numpy permet des faire des objets dont le type est "array" (tableau en anglais).

    Cela dit, j'ai déjà entendu "tableau" pour décrire une "liste de listes" comme par exemple : t = [[1,2,3], [4,5,6]] ..mais cela reste des listes enchâssées/imbriquées (nested) dans une liste (et ça ne serait pas utile ici).

    Voici comment je ferai l'exo (avec commentaires qui, j'espère, vous seront utile et clair).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import random
    import numpy as np    # on importe généralement numpy en lui donnant le "diminutif " np 
     
     
    def remplissage(n):                        # on defini la fonction
      tableau = np.array([], dtype = "int")    # on crée le tableau numpy vide et on déclare le type des valeurs qui y seront stockées..ici des entiers donc dtype = "int"
      for i in range(10):                      # création de la boucle qui fournira 10 itérations
        rand_val = random.randint(1, 999)      # la methode randint de random retourne des entiers compris dans les bornes.. bornes incluses donc ici 999 car on veut que ce soit <1000
        tableau = np.append(tableau, rand_val) # on refais le tableau en y ajoutant la nouvelle valeur à chaque itération
      return tableau                           # la fonction renverra ce tableau une fois rempli
     
     
    tableau_rempli = remplissage(10)    # on appelle la fonction et on stocke sont retour (le tableau rempli) dans la variable tableau_rempli
    print(tableau_rempli)               # on print le tableau
    Bon courage pour votre apprentissage.
    codez, lisez, testez et ce sera de plus en plus "facile".
    Jma

  10. #10
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    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 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Jma06 Voir le message
    Mais si l'énoncé s'attend à ce que vous placiez vraiment un "tableau", c'est peut être qu'il vous faut utiliser une bibliothèque qui s'appelle numpy.
    En effet, numpy permet des faire des objets dont le type est "array" (tableau en anglais).
    Mais qu'est-ce que tu viens l'embrouiller? Il en est au début de Python et tu lui mets direct du numpy!!!
    En programmation, le tableau est une notion qui englobe un concept d'items séquentiellement rangés et directement accessibles, et cette notion se découpe, dans Python, en "listes" (tableaux modifiables) et "tuples" (tableaux non modifiables). Donc l'énoncé parle de "tableau" au sens générique et c'est tout. Charge à l'élève de traduire, dans son code, cette notion "tableau" en "liste" ou "tuple" selon le cas.

    Citation Envoyé par Jma06 Voir le message
    mais cela reste des listes enchâssées/imbriquées (nested) dans une liste (et ça ne serait pas utile ici).
    Tu m'étonnes...

    Citation Envoyé par Jma06 Voir le message
    Voici comment je ferai l'exo (avec commentaires qui, j'espère, vous seront utile et clair).
    Ben oui. T'as qu'à lui écrire la solution tant que tu y es. Ah ben c'est ce que tu as fait. Tu as lu les règles de ce forum ???
    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]

  11. #11
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Bonjour

    +1 Tableau est un terme générique !!!


    Citation Envoyé par Jma06 Voir le message
    Mais si l'énoncé s'attend à ce que vous placiez vraiment un "tableau", c'est peut être qu'il vous faut utiliser une bibliothèque
    Ici nous sommes hors du cours de ce débutant. Et de plus, existe en python le type "tableau" (certainement pas demandé dans l'énoncé) alors pourquoi chercher ailleurs :
    (array.)array est un tableau python mais avec un seul type d'éléments (contrairement aux listes et tuples). Ils ont le même ancêtre "Sequence" que les listes et tuples, mais surtout dans la hiérarchie objet de python, ils sont frère de "str".

  12. #12
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 178
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    Citation Envoyé par Jma06 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import random
    import numpy as np    # on importe généralement numpy en lui donnant le "diminutif " np 
     
     
    def remplissage(n):                        # on defini la fonction
      tableau = np.array([], dtype = "int")    # on crée le tableau numpy vide et on déclare le type des valeurs qui y seront stockées..ici des entiers donc dtype = "int"
      for i in range(10):                      # création de la boucle qui fournira 10 itérations
        rand_val = random.randint(1, 999)      # la methode randint de random retourne des entiers compris dans les bornes.. bornes incluses donc ici 999 car on veut que ce soit <1000
        tableau = np.append(tableau, rand_val) # on refais le tableau en y ajoutant la nouvelle valeur à chaque itération
      return tableau                           # la fonction renverra ce tableau une fois rempli
     
     
    tableau_rempli = remplissage(10)    # on appelle la fonction et on stocke sont retour (le tableau rempli) dans la variable tableau_rempli
    print(tableau_rempli)               # on print le tableau
    Ici, c'est un peu dommage de faire un append dans une boucle for sur un tableau numpy :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import numpy as np
    >>> np.random.randint(low=1, high=1000, size=10)
    array([798, 957, 469, 656, 881,  17, 182, 222,  46, 802])
    >>>

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 736
    Par défaut
    Citation Envoyé par antoinesSSSSS Voir le message
    écrire une fonction remplissage(n) qui renvoie un tableau t contenant n nombres entiers aléatoires et < 1000.
    Je suis débutant en la matière je galère beaucoup merci d avance
    Une fonction se fabrique avec un "def" et ce qu'elle renvoie se fait via "return". Si votre code ne contient pas ça, c'est que vous n'êtes même pas capable de lire l'énoncé et que vous devez ouvrir un tuto. pour apprendre les termes techniques de base.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Problème fonction remplissage matrice
    Par charlotte000000 dans le forum Débuter
    Réponses: 4
    Dernier message: 20/12/2020, 14h31
  2. [XL-2003] couleur A1 en fonction remplissage autres cellules
    Par lamare14 dans le forum Excel
    Réponses: 3
    Dernier message: 17/04/2009, 14h40
  3. Remplissage d'un champs en fonction d'un autre
    Par arno974 dans le forum Access
    Réponses: 14
    Dernier message: 18/12/2006, 21h15
  4. Réponses: 2
    Dernier message: 29/09/2006, 16h40
  5. Réponses: 3
    Dernier message: 14/06/2006, 16h36

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