Bonjour à tous,
J'apprend Python depuis très récemment et pendant mes tests je rencontre un problème que je n'arrive pas à solutionner.
C'est un projet tout simple.
J'ai un fichier .py dans lequel se trouve le code principal :
et un fichier .py pour les différentes classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 # coding:utf-8 import mesCoursClasses choixMenu = 0 while choixMenu != 5: print("1 : Nouvelle classe") print("2 : Modifier une classe") print("3 : Voir les classes") print("4 : Nouveau devoir") print("5 : Modifier un devoir") print("6 : Quitter") try: choixMenu = int(input("Choisissez votre action :")) if choixMenu == 1: print("Choix {}".format(choixMenu)) # Nouvelles valeurs pour la nouvelle classe stockées dans des variables nom = str(input("Choisissez un nom pour la nouvelle classe : ")) effectif = int(input("Définissez un effectif pour la nouvelle classe : ")) couleur = str(input("Choisissez une couleur pour la nouvelle classe : ")) # Instanciation de la classe maClasse = mesCoursClasses.MesClasses(nom, effectif, couleur) # Sauvegarde de la classe mesCoursClasses.MesClasses.sauvegarderClasse(maClasse) if choixMenu == 2: print("Choix {}".format(choixMenu)) if choixMenu == 3: print("Choix {}".format(choixMenu)) maClasse = mesCoursClasses.MesClasses.chargerClasse() mesCoursClasses.MesClasses.afficherClasse(maClasse) if choixMenu == 4: print("Choix {}".format(choixMenu)) if choixMenu == 5: print("Choix {}".format(choixMenu)) if choixMenu == 6: print("A bientot !") exit() except ValueError: print("Utilisez des chiffres pour faire votre choix !")
Mon problème se situe au niveau des lignes 29 et et 37, 38 du programme principal au moment d'appeler mes méthodes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 # Coding:utf-8 import pickle # Import pour la gestion de fichier # Classes de l'application Mon Cahier de Textes # Classe des classes class MesClasses: def __init__(self, nom, effectif, couleur): self.nomClasse = nom self.effectifClasse = effectif self.couleurClasse = couleur print("Nouvelle classe créée avec pour nom {}, il y a {} élèves et la couleur choisit est {}".format(nom, effectif, couleur)) def modifierClasse(self, nouveauNom, nouvelEffectif, nouvelleCouleur): self.nomClasse = nouveauNom self.effectifClasse = nouvelEffectif self.couleurClasse = nouvelleCouleur def afficherClasse(self, classe): print("Nom de la classe : {} ; Effectif : {} ; Couleur : {}".format(classe.nomClasse, classe.effectifClasse, classe.couleurClasse)) def sauvegarderClasse(self, classe): """with open("classes.data", "wb") as fic: record = pickle.Pickler(fic) record.dump(classe) """ fichier = open("classes.data", "wb") pickle.dump(classe, fichier) fichier.close() def chargerClasse(self): """with open("classes.data","rb") as fic: get_record = pickle.Unpickler(fic) classe = get_record.load() """ fichier = open("classes.data", "rb") classe = pickle.load(fichier) fichier.close() return classe # Classe des devoirs class MesDevoirs: def __init__(self, date, typeD, contenu, fait): self.dateDevoir = date self.typeDevoir = typeD self.contenuDevoir = contenu self.faitDevoir = fait def modifierDevoir(self, nouvelleDate, nouveauType, nouveauContenu, nouveauFait): self.dateDevoir = nouvelleDate self.typeDevoir = nouveauType self.contenuDevoir = nouveauContenu self.faitDevoir = nouveauFait
VS Code me dit qu'il n'a aucune valeur pour l'argument classe pourtant il me semble bien que je lui en passe un lors de l'appel des méthodes (avec maClasse en l'occurence)
Pourriez vous éclairer ma lanterne je vous prie ?
Cordialement
Partager