Nombre pseudo-aléatoire fonction "random"
Bubu
-
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois créer une fonction d'argument (x,a,N) renvoyant une liste N de nombres pseudo-aléatoires distribués uniformément autour de x sur un intervalle a.
J'ai déjà écrit ça:
Mais je ne vois pas comment faire intervenir x et a dans mon programme.
Je dois créer une fonction d'argument (x,a,N) renvoyant une liste N de nombres pseudo-aléatoires distribués uniformément autour de x sur un intervalle a.
J'ai déjà écrit ça:
def serie_mesures(x,a,N):
M=[]
for i in range(0,N):
p=random.random()
M.append(p)
return(M)
Mais je ne vois pas comment faire intervenir x et a dans mon programme.
Configuration: Windows / Chrome 86.0.4240.193
4 réponses
-
Bonjour Bubu,
Déjà, sans parler de code Python, sais-tu comment faire sur le papier ?
Est-ce que tu vois bien ce que signifie ceci :
distribués uniformément autour de x sur un intervalle a
Et as-tu testé ton code tel qu'il est ? -
Ben oui, ça c'est sur, il faut que tu écrive le code pour cela ...
Une précision: faut-il des nombres entiers ou décimaux comme tu le fais actuellement ?
Tu as compris que x doit être la valeur centrale de ta série de nombres
Donc il faut faire 2 boucles for:
une qui génère une série de N/2 nombres jusqu'à x et une autre qui génère de x à N/2 nombres
Regarde bien les différentes méthodes de la bibliothèque random sur Internet,
il y en a pour faire ça (il n'y a pas que random.random() ) -
Il faut des nombres décimaux
Et j'ai regardé sur internet, ils proposent la fonction "random.uniform"
qui retourne un nombre à virgules dans l'intervalle compris entre a et b
Je vais donc utiliser :
random.uniform(x-a,x+a)
Mais une seule boucle "for" suffit dans ce cas-là non? De 0 à N? -
ben oui ...