t=[]
n=10
Max=10
for i in range(n):
t.append(random.randint(0,Max))
Nous avons essayé de comprendre le sens de la ligne de commande
t.append(random.randint(0,Max))
et elle sert à générer un nombre aléatoire.
Nous avons essayé le deuxième programme
import time
debut=time.time()
t=[]
for i in range(100000):
t.append(random.randint(0,10))
duree=time.time()-debut
print(duree)
ce programme permet de mesurer la durée d’exécution d’un programme, il marche parfaitement et je pense qu’il y a rien à signalé.
import matplotlib.pyplot as plt x=[i for i in range(10)] y=[-2*xval+10 for xval in x] plt.scatter(x,y) plt.show()
le programme marche, j’ai juste essayer de comprendre la balise si dessous :
plt.scatter(x,y)
je pense qu’elle sert à configurer des valeurs dans un tableau
import time
import matplotlib.pyplot as plt
import numpy as np
import random
def duree_tableau_alea(n):
debut=time.time()
t=[random.randint(0,10) for i in range(n)]
duree=time.time()-debut
return duree
def duree_tableau_alea1(n):
debut=time.time()
t=list(np.random.randint(10,size=n))
duree=time.time()-debut
return duree
def duree_tableau_alea2(n):
t=[]
debut=time.time()
for i in range(n):
t.append(random.randint(0,6))
duree=time.time()-debut
return duree
x=[(i)*10**5 for i in range(5)]
y=[duree_tableau_alea(val) for val in x]
y1=[duree_tableau_alea1(val) for val in x]
y2=[duree_tableau_alea2(val) for val in x]
plt.scatter(x,y, color='coral', linestyle='solid', label='liste en compréhension')
plt.scatter(x,y1, color='navy', linestyle='solid', label='tableau numpy')
plt.scatter(x,y2, color='green', linestyle='solid', label='liste avec append')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.title('durée de céation d''un tableau de n valeurs aléatoires ',color="navy", fontsize=12)
ax = ax.set(xlabel='n ', ylabel='durée (en s)')
plt.legend(loc='center right');
plt.show()
je pense avoir compris ce programme, il sert à générer sur un tableau de valeurs des valeurs aléatoires en fonction d’une durée d’éxecution.
import time
import matplotlib.pyplot as plt
import numpy as np
import random
def tri_insertion(tableau):
for i in range(1,len(tableau)):
en_cours = tableau[i]
j = i
#décalage des éléments du tableau }
while j>0 and tableau[j-1]>en_cours:
tableau[j]=tableau[j-1]
j = j-1
#on insère l'élément à sa place
tableau[j]=en_cours
def tri_selection(tableau):
nb = len(tableau)
for en_cours in range(0,nb):
plus_petit = en_cours
for j in range(en_cours+1,nb) :
if tableau[j] < tableau[plus_petit] :
plus_petit = j
if min is not en_cours :
temp = tableau[en_cours]
tableau[en_cours] = tableau[plus_petit]
tableau[plus_petit] = temp
def duree_tris(n):
t1=list(np.random.randint(10,size=n))
t2=t1.copy()
t3=t1.copy()
debut=time.time()
tri_selection(t1)
duree_selection=time.time()-debut
debut=time.time()
tri_insertion(t2)
duree_insertion=time.time()-debut
debut=time.time()
t3.sort()
duree_sort=time.time()-debut
return duree_selection,duree_insertion,duree_sort
x=[(i)*10**3 for i in range(10)]
y=[duree_tris(val) for val in x]
y1=[y[i][0] for i in range(10)]
y2=[y[i][1] for i in range(10)]
y3=[y[i][2] for i in range(10)]
plt.scatter(x,y1, color='navy', linestyle='solid', label='tri selection')
plt.scatter(x,y2, color='green', linestyle='solid', label='tri insertion')
plt.scatter(x,y3, color='red', linestyle='solid', label='tri sort')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
plt.title('durée pour trier un tableau de n valeurs aléatoires ',color="navy", fontsize=12)
ax = ax.set(xlabel='n ', ylabel='durée (en s)')
plt.legend(loc='upper left');
plt.show()
print(y1)
print(y2)
print(y2)
je ne comprends pas vraiment le programme (le sens du programme) mais je pense avoir compris le sens des lignes de code.
Aucune réponse