# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
### SLICING
### SLICING
# Le slicing permet d'accéder à une sous-partie d'une liste ou d'un tuple
# Le slicing permet d'accéder à une sous-partie d'une liste ou d'un tuple
@ -31,48 +28,32 @@ print("len(A)=",len(A))
print("======= Exemple de slicing : A[3:14:2] ")
print("======= Exemple de slicing : A[3:14:2] ")
print(A[3:14:2])
print(A[3:14:2])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
# Si PAS est omis, il vaut 1 (on prend les éléments de 1 en 1)
# Si PAS est omis, il vaut 1 (on prend les éléments de 1 en 1)
print("Affichez tous les éléments de l'index 3 (inclus) à 14 (exclus).")
print("Affichez tous les éléments de l'index 3 (inclus) à 14 (exclus).")
print(A[3:14])
print(A[3:14])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
# Si DEBUT est omis, il vaut 0 (on part depuis le début du tableau)
# Si DEBUT est omis, il vaut 0 (on part depuis le début du tableau)
print("Affichez 1 élément sur 2, depuis le début et jusqu'à l'index 12 INCLUS")
print("Affichez 1 élément sur 2, depuis le début et jusqu'à l'index 12 INCLUS")
print(A[:13:2])
print(A[:13:2])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
# Si FIN est omis, on va jusqu'au bout du tableau
# Si FIN est omis, on va jusqu'au bout du tableau
print("Affichez 1 élément sur 3, depuis l'index 4 (inclus) jusqu'à la fin.")
print("Affichez 1 élément sur 3, depuis l'index 4 (inclus) jusqu'à la fin.")
print(A[4::3])
print(A[4::3])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
# Si DEBUT et/ou FIN sont négatifs, ils indiquent une position en partant
# Si DEBUT et/ou FIN sont négatifs, ils indiquent une position en partant
# de la fin du tableau (-1 est le dernier élément, -2 l'avant-dernier, etc.)
# de la fin du tableau (-1 est le dernier élément, -2 l'avant-dernier, etc.)
print("Affichez les 10 derniers éléments de A.")
print("Affichez les 10 derniers éléments de A.")
print(A[-10::])
print(A[-10:])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
print("\nAffichez 1 élément sur 3, en partant du début, et en vous arrêtant 10 éléments avant la fin du tableau.")
print("Affichez 1 élément sur 3, en partant du début, et en vous arrêtant 10 éléments avant la fin du tableau.")
print(A[:-9:3])
print(A[:-10:3])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
# Si PAS est négatif, on lit les éléments dans le sens inverse.
# Si PAS est négatif, on lit les éléments dans le sens inverse.
print("\nAffichez le tableau A à l'envers, depuis son dernier élément jusqu'au premier.")
print("Affichez le tableau A à l'envers, depuis son dernier élément jusqu'au premier.")
print(A[::-1])
print(A[::-1])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
print("Affichez les 10 derniers éléments de A, à l'envers.")
print(A[:-11:-1])
print("\nAffichez les 10 derniers éléments de A, à l'envers.")
print(A[:-10:-1])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
### INDEXATION PAR UNE LISTE D'INDICES (uniquement en Numpy)
### INDEXATION PAR UNE LISTE D'INDICES (uniquement en Numpy)
@ -80,21 +61,15 @@ print(A[:-10:-1])
# En Numpy, on peut utiliser une LISTE (ou un autre ARRAY) de nombres entiers positifs
# En Numpy, on peut utiliser une LISTE (ou un autre ARRAY) de nombres entiers positifs
# indiquant tous les emplacements qu'on souhaite lire dans le tableau.
# indiquant tous les emplacements qu'on souhaite lire dans le tableau.
print("\n======= Exemple d'indexation par une liste :")
print("======= Exemple d'indexation par une liste :")
print("A=",A)
print("A=",A)
print("len(A)=",len(A))
print("len(A)=",len(A))
indices=[1,3,4,5,10]
indices=[1,3,4,5,10]
print(indices)
print(indices)
print(A[indices])
print(A[indices])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
print("Extrayez le sous-tableau de A donné par les indices qui sont un nombre au carré (0,1,4,9, etc.) :")
print(A[[n*nforninrange(int(sqrt(len(A))))]])
print("\nExtrayez le sous-tableau de A donné par les indices qui sont un nombre au carré (0,1,4,9, etc.) :")
carree=[0,1,4,9,16,25]
print(carree)
print(A[carree])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
### INDEXATION PAR UN MASQUE BINAIRE (uniquement en Numpy)
### INDEXATION PAR UN MASQUE BINAIRE (uniquement en Numpy)
@ -103,20 +78,17 @@ print(A[carree])
# taille que A, mais contenant des booléens indiquant si chaque index doit être
# taille que A, mais contenant des booléens indiquant si chaque index doit être
# conservé (True) ou écarté (False)
# conservé (True) ou écarté (False)
print("\n======= Exemple d'indexation par masque binaire:")
print("======= Exemple d'indexation par masque binaire:")
print("A=",A)
print("A=",A)
print("len(A)=",len(A))
print("len(A)=",len(A))
test=A>0
test=A>0
print(test)
print(test)
print(A[test])
print(A[test])
# exit() # -------------- Supprimez cette ligne pour passer à la suite ------------------
print("Créez un tableau B, de la même taille que A, dans lequel les nombres pairs sont conservés, mais les nombres impairs sont remplacés par des 0 :")
print("\nCréez un tableau B, de la même taille que A, dans lequel les nombres pairs sont conservés, mais les nombres impairs sont remplacés par des 0 :")
print("(1) Définissez un array numpy `N` contenant les entiers de 1 à 5000")
N=np.arange(1,5001)
# N = np.linspace(1,5000,1)
print(N)
# -------------- Supprimez cette ligne pour passer à la suite ------------------
print("(2) Construisez un array numpy `PN`, de la même taille que `N`, donnant le coût de production en fonction du nombre d'unités fabriquées")
PN=2000+60*(N)**(2/3)
print(PN)
# -------------- Supprimez cette ligne pour passer à la suite ------------------
print("(3) Construisez un array numpy `AN`, de la même taille que `N`, donnant le chiffre d'affaires, en fonction du nombre d'unités fabriquées (en supposant que toutes les unités fabriquées sont vendues)")
AN=N*5
print(AN)
# -------------- Supprimez cette ligne pour passer à la suite ------------------
print("(4) Représentez la courbe P(N) en bleu, et la courbe A(N), en rouge, dans la même figure")
plt.figure()
plt.plot(N,PN,color='blue',label='coûts de production')