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