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 :

diviseur et multiple :code python


Sujet :

Python

  1. #1
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut diviseur et multiple :code python
    Bonjour,

    j'ai du mal à coder avec python 2.7.6 sous Windows 7, voici l'énoncé :
    il s'agit de diviser 360 par le nombre n de cotés , puis de multiplier par un nombre m plus grand que 1 mais plus petit que n/2 qui ne soit pas un diviseur de n.

    Moi j'ai compris que :
    m < (n/2)
    m > 1
    Mais comment exprimer le fait que m ne soit pas un diviseur commun de n ?

    Désolé , mais je suis larguée sur ce point
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Points : 692
    Points
    692
    Par défaut
    Salut
    C'est avec l'opérateur "%". "n%m" retourne le reste de la division entière de n par m.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >>> for i in range(1,10):
    ...     print i, i%3
    ...     
    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0
    Mais comment exprimer le fait que m ne soit pas un diviseur commun de n ?
    n%m != 0

  3. #3
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut
    Merci pour l'explication !

    j'ai réussi à faire le début de ton code mais la suite avec n%m != 0 , j'obtiens :
    >>> for i in range(1,10):print i, i%3

    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0

    >>> n%m != 0

    Traceback (most recent call last):
    File "<pyshell#252>", line 1, in <module>
    n%m != 0


    Sinon , j'ai oublié aussi de dire que mon énoncé disait que n > 4 :

    Coder une fonction star() qui peut tracer une étoile quelconque de taille quelconque et de couleur quelconque, et un nombre de branches quelconque ,avec n > 4 .

    Ma réponse est incomplète :

    >>> from turtle import *
    >>> def star(t , c , n, m) :
    color(c)
    for x in range(n):
    forward(t)
    left((360/n)*m)
    n > 4
    m < (n/2)
    m > 1


    >>> star(100, 'red', 5, 2) # C'est pour faire un pentagramme : une étoile à 5 pointes donc 5 branches , n=5 , et j'ai choisi la couleur rouge .

    C'est pour cela , que m est important ....




    >>> from turtle import *
    >>> def star(t , c , n, m) :
    for x in range(n):
    forward(t)
    left((360/n)*m)
    n > 4
    m < (n/2)
    m > 1
    for i in range(1,10):print i, i%3


    >>> star(100, 'red', 5, 2)
    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0
    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0
    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0
    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0
    1 1
    2 2
    3 0
    4 1
    5 2
    6 0
    7 1
    8 2
    9 0


    Est-ce que c'est juste ?
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 388
    Points : 692
    Points
    692
    Par défaut
    C’était seulement une illustration. Pour déterminer l’ensemble des valeurs de m pour n donné, il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def nb_pointes(n):
        return [ m for m in range(1,int(n/2)) if n%m != 0 ]
    Ta fonction star est correcte. Il ne reste plus qu’à boucler sur les valeurs retournées par nb_pointes pour tracer toutes les étoiles.

  5. #5
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut
    Super Merci !
    Tu veux dire par boucler quoi ? dsl je suis débutante en informatique, tu parles de mettre les valeurs possibles de m .
    Donc mon code serait :

    >>> from turtle import *
    >>> def star(t , c , n, m) :
    color(c)
    for x in range(n):
    forward(t)
    left((360/n)*m)
    n > 4
    m < (n/2)
    m > 1


    >>> def nb_pointes(n):
    return [ m for m in range(1,int(n/2)) if n%m != 0 ]

    Il faut définir la fonction nb_poiuntes(n) comme tu l'as fait .

    Mais l'hexagramme(exceptino je pense à la régle) , donc 6 pointes , çà ne marchera jamais puisque que 2 est la seule valeur disponible pour m ,et qu'il se trouve étre diviseur de 6 .

    Il y'a une histoires de nombres n : pairs et impaires .

    Voilà l'image que j'obtiens , lorsque je choisis la couleur 'red' pour mon étoile :

    http://s29.postimg.org/sj2celftz/toiles_5_pointes.png
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

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

Discussions similaires

  1. Récupérer le code source d'une page HTML
    Par phyn04 dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 24/11/2016, 14h45
  2. Réponses: 3
    Dernier message: 08/03/2009, 10h50
  3. conversion d'indentation dans un code python
    Par KINENVEU dans le forum Général Python
    Réponses: 2
    Dernier message: 26/02/2009, 04h04
  4. Réponses: 1
    Dernier message: 24/05/2008, 17h04
  5. [SWIG] dialogue entre code C et code python
    Par dmichel dans le forum Interfaçage autre langage
    Réponses: 12
    Dernier message: 19/12/2007, 21h19

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