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

Exercices Python Discussion :

exo de apprendre.à prog python3


Sujet :

Exercices Python

  1. #1
    Nouveau Candidat au Club
    exo de apprendre.à prog python3
    Bsr voila je donne ce code qui fonctionne et qui répond à l'exo 7.7 mais avec une étoile 6 branches

    l' autre code plus bas est le 7.8 mais sans l'étoile6 mais l'étoile5

    Le problème que je n'arrive pas à résoudre est dans ma def etoil6() c'est xt,yt = x? , y? (quelle action sur x et y)du deuxième triangle pour la spirale; là cela fonctionne quand y reste à 0

    il y a sans doute une autre façon de definir l'étoile comme le cercle donc un vecteur pour x,y

    Bon il y a un if qui est fait pour affiché une autre figure au cas ou.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    from turtle import*
    def triang(t,coul,ang):
        color(coul)
        c=0
        down()
        while c<3:
            forward(t)
            right(ang)
            c=c+1
        up()
    from math import*
     
    def etoil6(t,coul,ang):
        print(triang(t,coul,ang))
        h=sqrt(t**2-(t/2)**2)
        x,y=pos()
        xt,yt=x,y-(h/1.5)
        up()
        goto(xt,yt)
        print(triang(t,coul,-ang))
        goto(x,y)
     
     
    def agrand(t,coul,ang,x,y):
        up()
        goto(x,y)
        c=0
        while c<4:
            print(etoil6(t,coul,ang),forward(t+5))
            t=t+10
            c=c+1
        if c<=9/2:
            print(etoil6(t,coul,ang),forward(t+5))
            while c<8:
                t=t-10
                print(etoil6(t,coul,ang),forward(t+5))
                c=c+1
     
     
    print(agrand(25,'blue',120,-300,0))




    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    from turtle import*
    def etoil5(t,coul):
         color(coul)
         c=0
         down()
         while c<5:
             forward(t)
             right(144)
             c=c+1
         up()
    def carre(t,coul):
        color(coul)
        down()
        c=0
        while c<4:
            forward(t)
            right(90)
            c=c+1
        up()
     
    def triang(t,coul,ang):
        color(coul)
        c=0
        down()
        while c<3:
            forward(t)
            right(ang)
            c=c+1
        up()
     
    def spirale(coul,ang,x,y):
        color(coul)
        up()
        goto(x,y)
        d=200
     
        while d>0:
            d=d-5
            t=d/3-5
            forward(t+5)
            left(ang-d/5)     
            print(carre(t,'red'),forward(t+5),triang(t,'blue',120),forward(t+5),etoil5(t,'green'),forward(t+5),carre(t,'red'),forward(t+5),triang(t,'blue',120))       
    print(spirale('red',90,-100,-350))

  2. #2
    Nouveau Candidat au Club
    mal lu
    Je me réponds tout seul car je viens de comprendre qu'il n'utilisait pas l'etoil6 pour l'exo 7.8 en fait il finit une ligne de sa spirale avec un triangle et redemarre une nouvelle ligne avec un triangle donc je n'ai pas encore la réponse mais je vais trouvé.




  3. #3
    Nouveau Candidat au Club
    resolu
    voila,je réécrirais ce code pour avoir une def etoil6(), pour l'instant cela fonctionne avec 2 triangles:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    from turtle import*
    def etoil5(t,coul):
         color(coul)
         c=0
         down()
         while c<5:
             forward(t)
             right(144)
             c=c+1
         up()
    def carre(t,coul):
        color(coul)
        down()
        c=0
        while c<4:
            forward(t)
            right(90)
            c=c+1
        up()
     
    def triang(t,coul,ang):
        color(coul)
        c=0
        down()
        while c<3:
            forward(t)
            right(ang)
            c=c+1
        up()
     
    def spirale(coul,ang,x,y):
        color(coul)
        up()
        goto(x,y)
        d=200
     
        while d>0:
     
            t=d/3-25
            left(ang)
            print(backward(t*2/3),triang(t,'blue',120))
            d=d-5
            print(forward(t+5),carre(t,'red'),forward(t+5),etoil5(t,'green'),forward(t+5),carre(t,'red'),forward(t+5),triang(t,'blue',120),forward(t*1/3))       
    print(spirale('red',60,-100,-350))

###raw>template_hook.ano_emploi###