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 :

Diviseurs d'un entier


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignement
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Points : 0
    Points
    0
    Par défaut Diviseurs d'un entier
    Voici mon premier scipt python qui permet d'afficher les diviseursd,un entier
    C'est beaux python avec les maths!!!!!!
    Votre avis svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def div(a): #donne les diviseur d'un entier#
        l=[]
        for i in range(1,a+1):
            if a%i==0:l.append(i)
        return(l)
    a=input("entrer a:")
    print(div(a))

  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,

    Comme je suppose que le but d'avoir un avis critique et constructif, voici mon avis :

    Ligne 1: Les commentaires en fin de ligne sont inélégants et, puisqu'il s'agit de renseigner sur la fonction, python propose les docstrings.

    Ligne 2: Le lecteur apprécie les espaces autours des opérateurs, accordons lui ce plaisir.

    Ligne 4: if a%i==0 s'écrira de façon plus pythonique: if not a % i et l'écriture de deux lignes logiques en une seule ligne physique n'est jamais justifié.

    Ligne 5: return est une instruction pas une fonction, donc pas de parenthèses.

    Dans l'ensemble le code doit 'respirer'.

    Exemple:
    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 div(a):
        """Retourne la liste des diviseurs d'un nombre.
     
        Argument:
        a -- le nombre
        """
        l = []
        for i in range(1, a+1):
            if not a % i:
                l.append(i)
     
        return l
     
    a = input("entrer a:")
    print(div(a))

  3. #3
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Puisqu'on te dit que "input" renvoie une chaîne (str)
    Tu lis les réponses qui te sont données, des fois ?
    Lis un tuto et reviens ici, tu seras mieux accueilli avec des bases.
    Pas d'aide par mp.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par marco056 Voir le message
    Puisqu'on te dit que "input" renvoie une chaîne (str)
    Ah oui mais ici, le PO n'a pas coché la case Python3 donc on peut supposer qu'il travaille avec Python2 (malgré la syntaxe bizarre du print). Hormis le fait qu'il n'y a pas de bonne raison pour débuter avec une version aussi ancienne, input dans ce cas équivaut à eval(raw_input(prompt)) et çà tombe en marche.

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

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignement
    Inscrit en
    Septembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 31
    Points : 0
    Points
    0
    Par défaut Merci pour les critiques
    Ceci dit
    1)Maintenant comment puis je peut transformer ce petit code en une application Android .
    2)comment je peut importer ce code dans un autre script
    Je travaille sur un mobil android

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par bouchelliga Voir le message
    Ceci dit
    1)Maintenant comment puis je peut transformer ce petit code en une application Android .
    2)comment je peut importer ce code dans un autre script
    Je travaille sur un mobil android
    Ce sont d'autres questions qui mériteraient d'ouvrir une nouvelle discussion.
    Mais vous l'avez déjà ouverte ici et certains ont déjà pris le temps de vous répondre...

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

Discussions similaires

  1. Ocaml Somme Des diviseurs d'un entier
    Par fethi510 dans le forum Caml
    Réponses: 3
    Dernier message: 01/06/2012, 14h42
  2. Fonction Diviseurs d'un entier strictement positif
    Par Binôme_pfe dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 02/01/2011, 14h39
  3. Calcul du plus grand diviseur commun de deux entiers relatifs
    Par odsen.s dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 17h21
  4. diviseurs d'un entier
    Par Zac EFRON dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 05/12/2008, 20h31
  5. [TP] Diviseurs d'entiers dans un intervalle donné
    Par mah00 dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 22/05/2007, 16h05

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