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 :

Gros problème pour chaine str déterminer par fonction


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 44
    Par défaut Gros problème pour chaine str déternimer par fonction
    Rebonjour, je voulais déternimer un chaine de caractère de type str d'après une fonction, mais c'est beaucoup plus compliquer que ça on à l'air voici le code de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def multiplieurJobsintfolder():
        if multiplieurJobsint==1:
            None
        else:
            " Jobs X" + str(multiplieurJobsint)
    et le code d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TypeError: cannot concatenate 'str' and 'function' objects
    je ne vois absolument pas pourquoi d'ailleurs, et que la variable sois égal ou pas à 1. J'ai l'impression que pyhton ne veut pas déternimer à partir d'une fonction la chaine de caractère str, très embétant ça pour moi. Des idée de comment résoudre mon problème

    D'avance je vous remercie pour aide.

    MediaVistaIntel

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Je suis sur que si vous écrivez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def multiplieurJobsintfolder():
        print type(multiplieurJobsint)
        if multiplieurJobsint == 1:
            None
        else:
            " Jobs X" + str(multiplieurJobsint)
    Vous allez avoir un joli 'function'.
    Vous avez dans votre code un
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    multiplieurJobsint = une_fonction
    Il est maintenant aussi possible que vous ayez un
    multiplieurJobsint = un_int
    Mais c'est la fonction qui est visible pour multiplieurJobsintfolder()
    Regardez du coté des noms de vos fonctions/variable: Une simple recherche dans votre code.

    @+

  3. #3
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Petite question : Vous vous y retrouvez dans le nom de vos variables ?
    multiplieurJobsintfolder, multiplieurJobsint... Pas évident tout cela et facile de s'y perdre.

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Je pense avoir compris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def multiplieurJobsintfolder():
        v = multiplieurJobsint()
        if v != 1:
            s = " Jobs X%d" % v
    Maintenant à voir ce que vous voulez faire du string " Jobs X%d" % v

    Edit: J'espere que vous avez penser au return lavaleurintquevousvoulez dans votre fonction multiplieurJobsint. Sinon elle vas vous retourner None.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 44
    Par défaut
    Oui PauseKawa j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    multiplieurJobsint = int(raw_input())
    avec bien sur aux minimum 1 ou + comme paramètre demander, seulement ensuite je déternime la fonction et j'ai essayer ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def multiplieurJobsintfolder():
        v = multiplieurJobsint()
        if v != 1:
            s = " Jobs X%d" % v
    il marche pas il faut mettre return quel part ou quoi, et None c'est pour dire à python tu ne met rien aucun caractère (si égal à 1 bien sur).

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def multiplieurJobsint():
        while True:
            s = raw_input("Entrez une valeur ")
            if s and s.isdigit():
                v = int(s)
                if v > 0:
                   return v
     
    def multiplieurJobsintfolder():
        v = multiplieurJobsint()
        if v != 1:
            print " Jobs X%d" % v
     
    multiplieurJobsintfolder()
    Pour multiplieurJobsint = int(raw_input()) revoir votre post précédent.

    @+

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 44
    Par défaut
    Rebonjour ton code fonction mais que pour les nombre différent de 1, si je met égal à 1 toujours la même erreur. Et c'est obliger de passer par une fonction on peut pas faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while 1:
        try:
            multiplieurJobsint = int(raw_input('Message de raw_input'))
            if multiplieurJobsint<1:
                print "Vous n'avez pas entrez un nombre correct pour la multiplication veillez recommencez!"
            else:
                break
        except ValueError:
            print "Merci de donner un chiffre. Veillez recommencez!"
    ?
    Sinon, comme je l'ai dis si pas égal à 1 je met des caratères str avec le résultat de multiplieurJobsint là votre code est bon pour l'instant, sauf je dis bien que moi je veut faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variable="différent mot" + multiplieurJobsintfolder + "Redifférent mot"
    et que ça marche pas, et que même si je serai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variable="différent mot" + multiplieurJobsintfolder() + "Redifférent mot"
    à la place il faudrai que je redonne le même nombre à chaque fois que je j'ai cette partie de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    multiplieurJobsintfolder()
    c'est pas ce que je veut faire, je veut le donner une seul fois le nombre et puis c'est tout, et que si je met 1 il ne mette aucun caractère puisque pour ça (le 1) je ne rien l'équivalent de quelque chose de vide absolue quoi en str d'après la fonction.

    Et encore Merci pour ton aide PauseKawa.

    Edit: c'est bon j'ai trouver la solution, en faite il faut pour une chaine de caractère vide il suffit de mettre ça. Et pour ne pas mettre à chaque fois la valeur de multiplieurJobsint il faut pas le mettre dans la fonction elle même, mais avant bien sur.

    MediaVistaIntel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gros problème pour installer PostGreSql
    Par j4nnot dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 25/05/2007, 10h26
  2. Problème pour la création d'une fonction
    Par jipé95 dans le forum C
    Réponses: 5
    Dernier message: 10/12/2006, 14h28
  3. Problème pour créer une illumination par dôme de lumière
    Par m-matthieu dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 09/11/2006, 13h54
  4. [AJAX] Restaurer l'état de listes liées par Ajax
    Par vallica dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/10/2006, 13h36
  5. Gros problème pour lire une vidéo
    Par zoidy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/06/2006, 12h35

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