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))