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 :

Je n'arrive pas a finir mon programme(Novice)


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Je n'arrive pas a finir mon programme(Novice)
    Bonjours pour mon devoirs je dois créé un menu pythons mais je ne sait pas comment faire.Dans ce menu je dois integré des programmes créé auparavant.(programme créé). C'est juste le menu que je n'arrive pas a faire.Merci de me répondre rapidement. Je vous donnerais volontiers des informations supplémentaires.(Menu résolue)
    Maintenant ce sont les programmes qui me poses problèmes.Programmes ou je ne vois pas les erreurs pourriez vous m'aider.

    Écrire une fonction prenant en entrée un entier naturel n et retournant True si cet entier est ordodec, False sinon.
    def ordodec(z):
    chaine=str(z)
    chaine=sorted
    if z==chaine[::-1]:
    return True
    else:
    return False
    Écrire une fonction prenant deux entiers naturels en entrée et retournant True s'ils sont anagrammes, False sinon.
    def anagramme(y):
    def anagramme(z):
    chaine=str(y)
    chaine=str(z)
    chaine=sorted(y)
    chaine=sorted(z)
    if chaine(y)==chaine(z):
    return true
    else:
    return false

  2. #2
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Citation Envoyé par pythonsnovice Voir le message
    ... Je vous donnerais volontiers des informations supplémentaires.
    Ça, ce ne sera pas du luxe.

    Qu'est-ce que tu as déjà fait ? On veut voir du code.

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Oui bonjours ,merci de m'avoir répondu.Pour le "menu" mon problème est résolu mais maintenant mon problème est tout autre.Il faut que je crée des petits programmes mais quelque probleme se pose a moi. voici ce que je dois faire et que j'ai fait.
    Ces programme ne marche pas mais je ne comprend pas pourquoi pourriez vous m'indiquer les erreurs présentes.
    Merci de votre réponse.


    Écrire une fonction prenant en entrée un entier naturel n et retournant True si cet entier est ordodec, False sinon.
    Ce que j'ai fait.
    def ordodec1(z):
    chaine=str(z)
    chaine=sorted
    if z==chaine[::-1]:
    return True
    else:
    return False

    Écrire une fonction prenant deux entiers naturels en entrée et retournant True s'ils sont anagrammes, False sinon.
    def anagramme(y):
    def anagramme(z):
    chaine=str(y)
    chaine=str(z)
    chaine=sorted(y)
    chaine=sorted(z)
    if chaine(y)==chaine(z):
    return true
    else:
    return false

  4. #4
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Il faut mettre ton code entre des balises [code].

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    def ordodec1(z):
        chaine=str(z)
        chaine=sorted           # il faut des parenthèses à sorted
        if z==chaine[::-1]:     # tu compares un entier avec une liste
            return True
        else:
            return False
    Il faut comparer un entier avec un entier ou une liste avec une liste, les mélanges ne fonctionnent pas.

    et tu peux retourner directement le résultat de la comparaison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    >>> i = 4687325
    >>> a = sorted(str(i))
    >>> b = sorted(str(i), reverse=True)
    >>> print(a==b)
    False
    >>>
    def anagramme(y):
    def anagramme(z):
    chaine=str(y)
    chaine=str(z)
    chaine=sorted(y)
    chaine=sorted(z)
    if chaine(y)==chaine(z):
    return true
    else:
    return false
    Il ne faut pas créer deux définitions de la même fonction mais une seule à laquelle ont passe les deux arguments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    def anagramme(y, z):
    Si tu utilises deux fois le même nom "chaine" seul le deuxième subsiste, il faut des noms différents comme a et b dans mon exemple.

    Ensuite tu exécutes la fonction sorted() avec le nombre entier au lieu de la chaîne de texte.

    Et pour finir la comparaison avec chaine(y)==chaine(z) signifie que tu compare le retour de la fonction chaine, fonction qui n'existe pas.

    Comme il s'agit des fondamentaux du langage, je te conseille cette lecture en prenant le temps de faire les exercices qui y sont proposés.

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Re.Merci de m'avoir répondu , j'ai réussi l'anagramme mais pas l'ordodec .
    Apres plusieurs test je constate que a chaque fois la réponse du programme est "false" ou "none" même si le nombre est ordodec.(mes tests sont sur geany et sur windows je ne les retrouves pas)
    pourriez vous m'aider d'avantage.


    Un second programme me pose problème ,il faut créé une list glup.
    Écrire une fonction prenant un entier z en entrée et retournant la liste des entiers naturels glup inférieurs ou égaux à z.
    Je ne sait pas du tout comment faire. (j'ai déjà réussi a créé une fonction qui me dit si un nombre est glup ou pas.)



    Merci de votre aide

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par pythonsnovice Voir le message
    Re.Merci de m'avoir répondu , j'ai réussi l'anagramme mais pas l'ordodec .
    Apres plusieurs test je constate que a chaque fois la réponse du programme est "false" ou "none" même si le nombre est ordodec.(mes tests sont sur geany et sur windows je ne les retrouves pas)
    pourriez vous m'aider d'avantage.
    Si vous ne postez pas ce que vous avez essayé de faire, pas facile d'essayer de vous expliquer ce que vous n'avez pas compris... et comme on ne va pas faire l'exo. à votre place, c'est vous qui voyez...

    Citation Envoyé par pythonsnovice Voir le message
    Un second programme me pose problème ,il faut créé une list glup.
    Écrire une fonction prenant un entier z en entrée et retournant la liste des entiers naturels glup inférieurs ou égaux à z.
    Je ne sait pas du tout comment faire. (j'ai déjà réussi a créé une fonction qui me dit si un nombre est glup ou pas.)
    C'est une fonction qui crée une liste vide et dans une boucle, tous les nombres n de 1 à z sont essayés et si glup(n) est True il est ajouté à la liste. A la sortie de la boucle, la liste est retournée...

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

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Rebonjours J'ai réussi a faire la listeglup grâce a vos conseil mais néanmoins pour l'ordodec je n'y arrive il me retourne toujours false: voici mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def ordodec(z):
    	a=str(z)
    	b=sorted(str(z))
    	if a==b[::-1]:
    		return True
    	else:
    		return False
    également essayer comme sa;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def ordodec(z):
    	a=(z)
    	b=sorted(str(z))
    	if a==b[::-1]:
    		return True
    	else:
    		return False

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par pythonsnovice Voir le message
    néanmoins pour l'ordodec je n'y arrive il me retourne toujours false
    Ben il faut apprendre à lancer la console Python pour "voir" à quoi ressemblent les objets comparés et essayer de comprendre pourquoi ils sont toujours différents...
    C'est pas si compliqué d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> z = 123
    >>> a = str(z)
    >>> b = sorted(str(z))
    >>>...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. J'arrive pas a compiler mon programme
    Par nkic22 dans le forum Fortran
    Réponses: 4
    Dernier message: 09/05/2012, 15h35
  2. Réponses: 11
    Dernier message: 06/12/2008, 13h15
  3. Réponses: 4
    Dernier message: 06/07/2006, 17h14
  4. Pas de suite à mon programme
    Par gillou4 dans le forum C
    Réponses: 7
    Dernier message: 10/10/2005, 16h42
  5. j'arrive pas a arreter mon thread d'arriere-plan
    Par ms91fr dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2003, 21h36

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