top of page

Project Pix 

Dans ce programme, nous devions créer un graphique représentant nos notes sur 20 en calculant le minimum, le maximum et la moyenne de la liste grâce à un fichier préalablement fourni par le professeur.

import matplotlib.pyplot as plt

fichier = open("4_octobre_2023_NSI1.csv", encoding="utf8")
ligne = fichier.readline() # lecture de la première ligne
noms_colonnes = ligne.strip().split(";") # récupération de tous les éléments de la première lignes
print("noms colonnes=",noms_colonnes)

Liste_x=[]
Liste_y=[]
for ligne in fichier:
    elements = ligne.strip().split(";")
    Liste_x.append(elements[4])
    Liste_y.append(int(elements[9]))
print(Liste_x, Liste_y)
fichier.close()

def tracer_figure(liste1,liste2,nom):
    plt.figure(figsize = (16, 10))
    plt.plot(liste1,liste2, label= nom + ' NSI' )

    plt.xlabel('Noms')
    plt.xticks(rotation = 60)
    plt.ylabel('')
    plt.title("Notes élèves Versus " + nom + " Pix")
    plt.legend()
    plt.show()

tracer_figure(Liste_x,Liste_y,"score")

def Moyenne(liste):
    sum = 0
    Z = 0
    for i in liste:
        sum = i + sum
        Z = Z + 1
    Moy = sum/Z

    return(Moy)

def min(liste):
    minimum = liste[0]
    for i in liste :
        if i <= minimum:
            minimum = i

    return(minimum)

def max(liste):
    maximum = liste[0]
    for i in liste :
        if i >= maximum:
            maximum = i

    return(maximum)

moyenne= Moyenne(Liste_y)
maximum= max(Liste_y)
Notemoyenne=int(input("Choississez la note moyenne"))

b = (20-Notemoyenne*maximum/moyenne)/(1-maximum/moyenne)
a = (Notemoyenne-b)/moyenne
#Notes=[round(a*score+b,1) for score in Liste_y]
Notes=[]
for score in Liste_y:
    Notes.append(round(a*score+b,1))
tracer_figure(Liste_x,Notes,"Notes")

bottom of page