Problème python
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

Problème python



  1. #1
    joakim

    Problème python


    ------

    Bonjour j'ai un problème j'ai un exercice a faire sous python et quand je lance le programme sa me dis que le programme met trop de temps et donc m'affiche pas la réponse
    Pourriez vous me donner une indication svp

    Code:
    # Fonction qui permet de trouver la deuxieme partie du nombre
    def decomposition(a):
        nombre = a
        nomb3 = 0
        somme = 0
        long = len(str(nombre))/2
        i = 1
        while i<=long:
            nomb3 = a%10
            if somme == 0:
                somme = nomb3
            else:
                somme = (somme * 10) + nomb3
            a = a // 10
            i = i + 1
        return somme
    # Fonction qui permet de trouver la premiere partie du nombre
    def decompmilieu(n):
        i = 1
        nombre = n
        long = len(str(nombre))/2
        if long % 2 == 0:
            while i <= long:
                n = n//10
                i = i + 1
            return n
        else:
            while i <= long + 1:
                n = n//10
                i = i + 1
            return n
    # Fonction qui permet de verifier si un nombre est un palindrome
    def palindrome(n):
        palindrome = False
        if decompmilieu(n) == decomposition(n):
            palindrome = True
        else:
            palindrome = False
        return palindrome
    
    # Programme qui appelle les fonctions:
    nombrechoisi = int(input())
    i = 1
    somme = 0
    while i <= nombrechoisi:
        if palindrome(i) == True:
            somme = somme + 1
        i = i + 1
    print(somme) 

    -----
    Dernière modification par JPL ; 20/10/2021 à 20h10. Motif: ajout de la balise Code (#) pour garder l’indentation

  2. #2
    JPL
    Responsable des forums

    Re : Problème python

    Avant d’utiliser un forum il faut lire les instructions qui lui sont spécifiques. Tu comprends bien que du Python sans indentation, c’est ininterprétable !
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    pm42

    Re : Problème python

    Citation Envoyé par JPL Voir le message
    Avant d’utiliser un forum il faut lire les instructions qui lui sont spécifiques. Tu comprends bien que du Python sans indentation, c’est ininterprétable !
    Et bravo pour l'avoir fait.
    Chez moi, le code tel que tu l'as indenté tourne. Il est possible que la version originale soit indentée différemment et que cela change sa signification.

  4. #4
    JPL
    Responsable des forums

    Re : Problème python

    En fait le code était indenté, mais sans balises, donc il paraissait absent.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Problème python

    Citation Envoyé par JPL Voir le message
    En fait le code était indenté, mais sans balises, donc il paraissait absent.
    Tiens, un super-pouvoir de la modération que je ne connaissais pas
    On va donc attendre le retour du primo-posteur pour en savoir plus.

  7. #6
    JPL
    Responsable des forums

    Re : Problème python

    Je me suis mal exprimé : sans les balises l’indentation semble absente.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  8. #7
    pm42

    Re : Problème python

    Citation Envoyé par JPL Voir le message
    Je me suis mal exprimé : sans les balises l’indentation semble absente.
    C'est bien ce que j'avais compris. Mais à ma connaissance, on ne peut pas la voir sauf à être modérateur non ?

  9. #8
    JPL
    Responsable des forums

    Re : Problème python

    Il faut passer par l’option de modification du message. mais ça c’est réservé aux mages
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  10. #9
    umfred

    Re : Problème python

    Autre question à joakim: avec quel nombre en entrée tu as ton problème ? (si ce n'est pas avec tous)
    Et je pense un problème dans decompmilieu, il ne faut pas diviser par 2 la longueur de la chaine du nombre pour long, pour tester ensuite son modulo par 2
    En entrant la valeur 10, on obtient un résultat de 10, alors qu'il n'y a que les chiffres de 1 à 9 qui sont palindrome (de fait) et non 10 comme ton code l'indiques.
    Code:
    # Fonction qui permet de trouver la premiere partie du nombre
    def decompmilieu1(n):
        i = 1
        nombre = n
        long = len(str(nombre))/2
        if long % 2 == 0:
            while i <= long:
                n = n//10
                i = i + 1
            return n
        else:
            while i <= long + 1:
                n = n//10
                i = i + 1
            return n

  11. #10
    vgondr98

    Re : Problème python

    Le but, c'est de trouver si un nombre est palindrome ? Si c'est le cas, il y a une manière plus simple et qui marche aussi si l'entrée est un string comme le mot RADAR.

  12. #11
    oxycryo

    Re : Problème python

    un code bien long pour un palindrome
    #= passe le nombre en str
    aa=str(nombre)
    #= renverse le nombre
    bb=aa[::-1]
    #= test si aa est identique à bb
    if aa==bb: print("c'est un palindrome")
    else: print("ce n'est pas un palindrome")

    "1234"="4321" (false) et "15851" = "15851" (true)
    nota: le test s'effectue en str..

  13. #12
    pm42

    Re : Problème python

    Ca ne répond pas à sa question.
    Il n'est jamais revenu depuis 1 mois donc l'intérêt est limité.
    Cette idée de solution avait déjà été donnée par le message juste au dessus du tien.
    Cela donne une solution clé en main ce que la charte décourage.
    Cette solution n'apprend rien du tout à un débutant.

    Bravo, la totale.

  14. #13
    oxycryo

    Re : Problème python

    parceque tu te prends pour un prof ? moi pas

  15. #14
    JPL
    Responsable des forums

    Re : Problème python

    C’est le moment de rappeller la règle de ce forum : EXERCICES et FORUM
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  16. #15
    umfred

    Re : Problème python

    Son problème à la base, est que son code est lent par rapport à ce qu'attend la plateforme sur laquelle il l'a testé (sur France-IOI, il y a plein d'exercices, et une des contraintes est le temps de calcul de la réponse pour différentes données en entrée; il a peut-être trouvé des infos sur leur forum ou dans les tips fournis)

  17. #16
    Merlin95

    Re : Problème python

    Je n'ai pas compris son code, mais ça me semble compliqué, notamment, si je dois faire le plus performant, jamais je ne construirais le nombre constitué des chiffres dans l'autre sens, car on peut s'en passer avantageusement.

  18. #17
    pm42

    Re : Problème python

    Citation Envoyé par Merlin95 Voir le message
    Je n'ai pas compris son code, mais ça me semble compliqué, notamment, si je dois faire le plus performant, jamais je ne construirais le nombre constitué des chiffres dans l'autre sens, car on peut s'en passer avantageusement.
    Bien sur mais c'est comme ça que les débutants apprennent. Là, il en est à "maitriser le langage". "Optimiser l'algorithme" vient après et c'est une bonne expérience que d'écrire un truc qui est supposé marcher mais est lent.

  19. #18
    Merlin95

    Re : Problème python

    Ce n'est pas "optimiser un algorithme" mais concevoir un algorithme efficace (mais je pense que c'est ce que tu voulais dire), ça s'apprend tout autant que la maîtrise du langage.
    Dernière modification par Merlin95 ; 29/11/2021 à 19h28.

Discussions similaires

  1. [Python] Problème de lag de programme et essai de Timer python
    Par Loupsio dans le forum Programmation et langages, Algorithmique
    Réponses: 20
    Dernier message: 26/01/2018, 16h14
  2. [Python] subprocess, lancer un autre programme avec python
    Par Loupsio dans le forum Programmation et langages, Algorithmique
    Réponses: 10
    Dernier message: 30/11/2016, 19h56
  3. en python le multi tache n'est pas possible alors pourquoi les threads existent sur python?
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/06/2015, 16h47
  4. problème python
    Par barbbatruc dans le forum Programmation et langages, Algorithmique
    Réponses: 14
    Dernier message: 04/01/2015, 16h38
  5. Problème en Python
    Par pointfixe dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 12/12/2014, 11h36