Bonjour !
On m'a beaucoup aidé ici et je remercie tout le monde ! Vraiment !
Je m'adresse à vous pour une aide à un exercice en maths. En effet après de nombreuses heures de recherches je ne parviens pas à le faire ...
voici l'énoncé :
Une machine placée à l'origine sur un plan muni d'un repère orthonormé, se déplaçant à chaque seconde en simulant un entier aléatoire entre 1 et 4 de: +1 en abscisse si l'entier est 1, -1 en abscisse si l'entier est 2, +1 en ordonnée si l'entier est 3, et -1 en ordonnée si l'entier est 4.
Aussi, pour (x ; y) les coordonnées du point où se trouve la machine, son déplacement doit s'arrêter si x > 2 ou x < -2 ou y >2 ou y< -2
1/Ecrire une fonction Python "trajet ()" qui simule le trajet de cette machine (du départ à l'arrêt) et renvoyant le nombre de déplacements effectués avant l'arrêt. On stockera les abscisses et ordonnées successives où se trouve la machine dans deux listes "x" et "y" initialisées à x = [0] et y= [0] en début du programme.
2/ écrire un programme appelant 100 fois la fonction "trajet" et calculant la moyenne du nombre de déplacements réalisés sur ces 100 trajets.
Je vous remercie par avance pour votre aide, même minime
Est-ce qu'il faut commencer par mettre :
def trajet ()
(Que faut-il mettre entre parenthèses de trajet ()?)
Puis faire si x ou y = 1 alors etc
Et créer une liste pour les coordonnées de x et celles de y , seulement je ne sais pas vraiment comment faire
bonjour,
je ne peux pas t'aider pour le codage en python, mais il me semble qu'avant de coder,
il faudrait que tu écrives en langage naturel ce que doit faire ton programme..
as tu essayé ?
Bonsoir,
Je ne sais pas si on peut donner directement un programme Python ?
si "non" un modérateur peut supprimer (tout ou partie)...
from random import randint,seed
def trajet(x,y):
move,suite=[[1,0],[-1,0],[0,1],[0,-1]],True
seed()
while suite==True:
a=randint(0,3)
xa=x[-1]+move[a][0]
ya=y[-1]+move[a][1]
if xa>2 or xa<-2 or ya>2 or ya<-2:
suite=False
else:
x.append(xa)
y.append(ya)
n,m=5,0
for i in range(n):
x,y=[0],[0]
trajet(x,y)
print(len(x))
print(x)
print(y)
m+=len(x)
print("Pour",n," trajets, la moyenne des déplacements est",m/n)
n,m=100,0
for i in range(n):
x,y=[0],[0]
trajet(x,y)
m+=len(x)
print("Pour",n," trajets, la moyenne des déplacements est",m/n)
salut,
@vham
on peut eventuellement donner un programme à la fin des echanges.
Mais que peut faire un eleve de premiere avec ce code ?
Comment va-t-il justifier son travail à son prof ?
j'avais espéré que Kissamil nous montre comment son programme pourrait tourner..
la réflexion préalable au codage me semble indispensable..
tant pis
NB : la fonction trajet doit retourner le nombre de déplacements et non x, y
je vous laisse.
cela dit je suis toujours interesse par des programmes donnes par des specialistes de python.
Donc il ne faut pas le supprimer.
Bonsoir,
--> alb12 : Salutations,
J'aurais dû commenter,mais j'attendais les réactions de Kissamil
non, je ne suis pas un spécialiste de Python comme je crois vous l'êtes vous-même.
Bonsoir,
--> Leile :
je m'aperçois que l'énoncé demande "le nombre de déplacements effectués avant l'arrêt"
mon code utilise : "le (nombre de déplacements +1) effectués avant l'arrêt"
on n'est jamais à l'abri d'un bug même dans un petit programme.
salut , après quelques essais je trouve une moyenne de deplacements comprise entre 10 et 11 pour 100 essais et vous ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :