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 :

SVP aide exerice maison noté


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 4
    Par défaut SVP aide exerice maison noté
    Bonjour à tous et à toutes,

    Je viens vers vous car j'ai vraiment besoin de votre aide pour un exercice python comptant pour un devoir maison.
    Je ne sais pas du tout par où commencer, avec la fonction g et tout.
    Si vous pouvez m'aider ce serait vraiment top
    Merci par avance
    Voici l'énoncé

    Ecrire une fonction f qui prend en entrée : - un tableau scipy ou une liste v
    -un entier p
    -une fonction g.
    Le but de la fonction f est d'appliquer la fonction g au tableau v sur tous ses
    p éléments, à savoir sur la liste (ou le tableau scipy) [v[0], v[p], v[2*p],..]
    (l'indice de v ne doit pas dépasser (n-1) et la taille de cette liste ou tableau
    n'est pas n, en général).

    Autrement dit, si on a w=f(v,p,g), cela revient à dire que
    w =g([v[0], v[p], v[p*2], v[p*3], ...]), de telle sorte que l'indice i*p est
    strictement plus petit que la taille de v.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    Citation Envoyé par ambrea Voir le message
    Je viens vers vous car j'ai vraiment besoin de votre aide pour un exercice python comptant pour un devoir maison.
    Je ne sais pas du tout par où commencer, avec la fonction g et tout.
    Il faut commencer par prendre une feuille de papier et écrire une liste (exemple: v = 1, 2, 3, 4, 5), choisir une fonction à appliquer (exemple: g = multiplier par 2) avec un pas p = 1, un pas p = 2 un pas = 3... et voir ce que çà donne dans les différents cas: (exemple! f(v,1,g) devrait retourner 2, 4, 6, 8, 10).
    Une fois que vous avez a peut près compris ce qu'on attend, il faut essayer de coder et vérifier que çà retourne ce qu'on attend.

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

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 4
    Par défaut
    Merci de votre réponse.

    Si j'ai bien compris la fonction g est une fonction arbitraire (par exemple multiplie chaque élément du tableau par 2, ou divise chaque élément par 3)

    Je vous mets le code. j'ai l'impression qu'il marche mais ca serait super d'avoir votre avis


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    def f(v,p,g):
        n=len(v)
        q=sp.array([])
     
        for i in sp.arange(0,n,1):
            if(i*p<n):
                q=sp.append(q,v[i*p])
        return(g(q))
     
     
    def g(a): #par exemple la fonction g est la multipligation par 2 des élemtents
        n=len(a)
        for i in sp.arange(0,n,1):
            a[i]=a[i]*2
        return a

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 4
    Par défaut
    Re bonjour,

    Je viens de tester pour d'autres valeurs et ils me repondent ce message

    "TypeError: f() takes 2 positional arguments but 3 were given"

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Cette erreur te dit que la fonction f() ne demande que deux arguments et non pas trois.

    Toutefois:
    Dans ton code, elle en prend trois. Ce n'est donc pas ce code là qui lève cette erreur.
    Tu as dû faire un changement dans ton code initial.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    Citation Envoyé par ambrea Voir le message
    Je vous mets le code. j'ai l'impression qu'il marche mais ca serait super d'avoir votre avis
    Appliquer g à chaque élément du tableau est différent d'un g qui s'applique à un tableau i.e. votre g dévrait s'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def g(x):
          return 2 * x
    Pour ce qui est de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        for i in sp.arange(0,n,1):
            if(i*p<n):
    inutile d'avoir une fonction arange/range qui effectue les incréments de p à votre place si c'est pour l'utiliser comme çà.

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

Discussions similaires

  1. SVP aide pour un code TABOU
    Par anes_2004 dans le forum C++
    Réponses: 3
    Dernier message: 03/07/2008, 16h49
  2. svp aide requette sql !
    Par Scal-tn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/03/2008, 17h30
  3. SVP ! Aide sur les modules SAP CS et SD
    Par kmhermann1 dans le forum SAP
    Réponses: 2
    Dernier message: 01/08/2007, 15h11
  4. [Aide] Votre maison
    Par DavidDeTroyes dans le forum La taverne du Club : Humour et divers
    Réponses: 66
    Dernier message: 24/07/2006, 09h23

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