IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Town Ground

Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier

Noter ce billet
par , 26/01/2022 à 07h38 (5535 Affichages)
Et voici la version Programmation Orientée Objet (POO, OOP) du gestionnaire de score:

Fichier UTF-8 Python :
scoremanage.py

Code source:

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
class Scoremanage(object):    "gestion d'un fichier des 10 meilleurs scores et noms des joueurs"
    def __init__(self,namfisco,score=0,gamer=""):
        import pickle
        self.pickle=pickle
        self.namfisco=namfisco
        self.score=score
        self.gamer=gamer
    def inisco(self):
        "fonction interne/utile de (re)initialisation du fichier de scores"
        tmpsco=[0,"no one"]*10
        tmpfsc=open(self.namfisco,"wb")
        self.pickle.dump(tmpsco,tmpfsc)
        tmpfsc.close()
        return
    def vrisco(self):
        "fonction interne de vérification d'existence du fichier de scores"
        try:
            fs=open(self.namfisco,"rb")
            fs.close()
        except:
            self.inisco()
        return
    def lirsco(self):
        "fonction utile de lecture du fichier de scores"
        self.vrisco()
        fisco=open(self.namfisco,"rb")
        sco=self.pickle.load(fisco)
        fisco.close()
        return(sco)
    def addsco(self):
        "fonction utile d'ajout dans le fichier scores d'un score d'un joueur"
        totsco=self.lirsco()
        if self.gamer=="":
            self.gamer="Anonymous"
        tmpsco=[self.score,self.gamer]
        fs=open(self.namfisco,"wb")
        for p in range(0,19,2):
            if self.score > totsco[p]:
                totsco=totsco[:p]+tmpsco+totsco[p:]
                del totsco[20:]
                break
        self.pickle.dump(totsco,fs)
        fs.close()
        return


Vidéo explicative:

<span style="color:#008000;">

Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Viadeo Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Twitter Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Google Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Facebook Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Digg Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Delicious Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog MySpace Envoyer le billet « Classe de gestion (enregistrement, tri) d'objet scores et pseudos dans un fichier » dans le blog Yahoo

Commentaires

  1. Avatar de MPython Alaplancha
    • |
    • permalink
    Bonjour,
    C'est gentil de nous partager du code...
    Cependant, il ne peut pas avoir la valeur d'un tutoriel ou d'un exemple à suivre car il y a beaucoup trop à y redire.
    Tu ne respectes pas du tout le PEP8. De plus tu fais usage de mauvaises pratiques et j’y vois quelques maladresses...

    Pour la forme, tu devrais utiliser des linters comme pylint et pycodestyle.
  2. Avatar de Town Ground
    • |
    • permalink
    Citation Envoyé par MPython Alaplancha
    Bonjour,
    C'est gentil de nous partager du code...
    Cependant, il ne peut pas avoir la valeur d'un tutoriel ou d'un exemple à suivre car il y a beaucoup trop à y redire.
    Tu ne respectes pas du tout le PEP8. De plus tu fais usage de mauvaises pratiques et j’y vois quelques maladresses...

    Pour la forme, tu devrais utiliser des linters comme pylint et pycodestyle.
    Bon ben oui, ce qui m'intéresse c'est que ce module fonctionne; il y a mille manières d'arriver au même résultat en codant. Évidemment, avec l'aide le l'IA, bientôt il n'y en aura plus qu'une manière unique de résoudre un problème, ce qui n'est pas gage d'inventivité et de découvertes utiles pour d'autres problèmes ou codes sources...
  3. Avatar de Town Ground
    • |
    • permalink
    Et, maintenant que je suis en forme, je vais enfoncer le clou!

    Si je propose une épreuve, un contrôle, à quinze étudiants, que quatorze ont la bonne réponse mais obtenue selon le même raisonnement, et qu'un quinzième étudiant obtient (par une faute de calcul par exemple) un résultat erroné mais l'a obtenu par un raisonnement totalement différents des autres (et un raisonnement juste bien qu'original); eh bien je mets 20/20 à ce quinzième étudiant et 16/20 aux quatorze autres!