Bonjour
J ai un exo de maths sur python
La tortue Python démarre en (0;0)
1..Compléter le script pour que son exécution permette le tracé de la spirale ci contre
2.Jean-Baptiste a choisi une grande valeur de n et il annonce fièrement : « ma tortue a parcouru plus d?un million de pixels: le déplacement en spirale est devenu un automatisme ! » Combien d itérations a effectué la tortue de jean baptiste
3.PAPL: Qu?elles sont les coordonnés de la tortue de Jean Baptiste s il a choisi la plus petite valeur de n qui obligé la tortue a parcourir au moins un million de pixels ? Justifier
Merci d avance de votre aide
1.Pour le script je sais pas ce qu est L= ce qui me bloque pour faire le programme
Car je définis Sa(n)=0 et après je crée la liste avec for in range mais le L je sais pas quoi en faire
** image tournée. merci de tenir le téléphone dans le bon sens **
Ah merci bcp je change Ducoup
Il y a 11 segments Sa(n):11
L=10
Car la première longueur est 10
For i in range : c est ce qui permet de créer une liste ça ? Et le (.....) c est le nombre de fois que la liste sera exécuté ?
Je connais mal Python, mais
Def SA(n): tu ne dois pas y toucher
C'est lorsque tu feras appel à cette fonction que tu écriras par exemple quelque chose du genre: SA(11)
Pour la syntaxe de range, c'est dans ton cours.
Le (...) c'est le nombre de fois plus 1 me semble-t-il. Car ça commence à 0. Vérifie quand même
Bonjour,
sanantonio312 : "Je connais mal Python, mais"
ce que tu dis est correct
je surveille en cas de besoin mais je te laisse poursuivre.
PS :
à défaut de cours il y a l'aide intégrée dans Python...
et des tas de tutoriels en ligne.
si tu cherches par exemple : range Python sur Internet tu auras toutes les infos voulues sur ce que ça fait et des exemples d'utilisation.
For i in range
Dans les (....) il faut mettre 2 valeurs par exemple 2,4 et python exécutera les valeurs 2 et 3 mais 4 sera exclu
en l'absence de sanantonio312
Merci mathafou, reste, je t'en prie
@babahand : La boucle est faite pour être exécutée autant de fois qu'il y a de segments
Ici, comme tu l'as remarqué, ça sera 11 fois
RTFM (Read The F... Manual)
forward avance
et left ne fait que tourner sur place sans rien tracer
chaque passage dans la boucle tracera un trait
et on veut donc tracer n traits (donc effectuer n boucles)
et n est une variable, qui prendra plus tard la valeur 11 quand on fera
sanantonio312 : messages croisés, je croyais que tu n'étais pas revenu
je reste mais ne te prives surtout pas d'intervenir !
Donc d après la vidéo que j ai regardé pour faire la boucle 11 fois je dois mettre (1,12) après range
Si tu mets 12, tu feras toujours la boucle 11 fois et n ne sert à rien.
Si tu lis bien l'énoncé, tu as à appeler la fonction SA avec le nombre de boucles que tu veux.
SA(11) fera 11 boucles.
SA(6802) en fera 6801
Dans la fonction, tu dois donc utiliser n et pas 11.
tout petit détail :
range(1,n) fera la boucle pour les valeurs de i : 1, 2, .. n-1
donc seulement n-1 fois
range(n) tout court (RTFM...!) la fera pour les valeurs de i : 0, 1, 2, ... n-1 c'est à dire n fois.
oui pour range(n)
non pour le reste
# Créé le 31/12/2020 en Python 3.7
# ligne indispensable pour qu'il sache ce que sont les fonctions forward() et left() :
from turtle import *
# définition d'une fonction traçant une spirale de n segments
def SA(n):
L = 10 # faux
for i in range(n): # pour faire n boucles, i de 0 à n-1 inclus
L = 0 + 10*n # faux, ici n est une constante, tous les segments auraient la même longueur
forward(10*n) # même erreur, et à quoi bon avoir calculé L alors ??
left(90.0) # OK et je tourne à gauche de 90°
# fin de la boucle
# et fin de la définition de la fonction SA(n)
# appel immédiat de la fonction pour lui faire tracer 11 segments
SA(11)
L=0 oui, erreur de recopie
d'autant que ça ne sert à rien de la façon dont il a traité la suite.
j'étais resté à :
Non, le "L=0" que tu avais mis est bon. C'est une initialisation de variable.
L'autre, ça doit être la longueur du segment à tracer. Il change à chaque boucle
Pour forward et left, je ne peux rien pour toi.
Dans certains langages, il faut écrire des commandes du genre "Include " pour ajouter des fonctions.
C'est peut-être le cas de Python.
mathafou le sait certainement
pourquoi python ne connait pas forward et left
lire :
# Créé le 31/12/2020 en Python 3.7
# ligne indispensable pour qu'il sache ce que sont les fonctions forward() et left() :
from turtle import *
# définition d'une fonction traçant une spirale de n segments
def SA(n):
...
Les lignes commençant par # ne sont pas indispensable au fonctionnement
Ce sont des commentaires. Très utiles pour indiquer ce que l'on fait
j ai tapé ceci mais rien ne s affiche
from turtle import *
def SA(n):
L=0
for i in range(n):
L=L+10
forward(10)
left(90.0)
SA(11)
tu calcules bien L
mais tu n'en fais rien du tout.
forward (10) ?? non
ce qui s'affiche est le dessin de la spirale dans une autre fenêtre séparée qui se superpose en plus à toutes les autres fenêtres de l'écran du PC
si tu ne la vois pas, peut être est elle "derrière"...
rien ne s'affiche dans la console, c'est normal car il n'y a aucune donnée (numériques ou texte) à afficher
le but de ce programme est exclusivement de dessiner dans la fenêtre graphique "Python Turtle Graphics"
cela peut se présenter différemment selon le Python utilisé (ici EduPython installé sur le PC) et le matériel (PC) et son système d'exploitation (Windows etc)
comme on le voit ici le programme "ne se termine jamais" (rien ne se passe dans la console après le lancement " *** Console de processus distant Réinitialisée *** "
alors que on devrait avoir de nouveau "la main" par >>>> :
*** Console de processus distant Réinitialisée *** (lancement du programme)
>>> (ici le programme s'est terminé, on peut taper de nouvelles elles commandes)
il faut fermer la fenêtre graphique de force pour terminer l'exécution et rendre la main.
et si on le fait dans le programme lui -même on n'aura pas le temps de contempler le "tableau"
pour que ça marche mieux j'ai écrit à la fin du programme :
# appel immédiat de la fonction pour lui faire tracer 11 segments
SA(11)
# fermera l'écran de la tortue quand on cliquera dessus (sinon il est bloqué)
exitonclick()
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :