Gestion du compte
Calculatrices
Graph 35 à 100 (CFX)
Graph 25/25+ (Pro) (fx-7400)
Graph 35+USB/75/85/95 (SD)
Graph 100/100+ (AFX)
ClassPad 300/330
Fx-CG 10/20
Fx-CP 400
Graph 90+E

Retour aux miniatures
Tri avancé
Liste des programmes
Nom Date
Locate.py 2
PyLibs
Graphique pourcentage
Date
Données Pro


¤ Vous cherchez une fonction ?
Utilitaires >> Graph 90+E >> Divers >> Locate.py 2
Locate.py 2
Version : 2.2 Taille : 1824 octets Ajouté le : 2019-05-09 19:00 Modifié le : 2019-05-23 08:14
Auteur et posteur :
KikoodxEn ligneMembrePoints: 1051 Défis: 7 Message
Aucune image disponible
Nombre de visites sur cette page : 194
Score au progrank : 4
Pas encore de note !

Vous devez être inscrit(e) et avoir 20 points ou plus pour noter.
17 téléchargements | Soumettre un test

Une licence est incluse avec ce programme.


Description :

2.1
2.1
- Gestion des erreurs.
- Meilleure présentation des docstrings.

2.1.1
Cliquez pour recouvrir
Création d'un nouveau "fork", locate_dev.py destinée à moi, mieux documenté et commenté mais beaucoup plus lourd.
En conséquence poids du fichier locate.py divisé par deux.

2.2
Cliquez pour recouvrir
Ajout des méthodes de Screen : export, load et locate_v.
export retourne une chaîne de caractères générée à partir de l'objet Screen, load charge une telle chaîne de caractères.
locate_v est un locate à la verticale
La classe Screen a un nouveau paramètre, copy, si l'on passe a copy un autre objet Screen le nouvel objet sera une copie de ce dernier.


Locate.py pour les utilisateurs/développeurs sur calculatrice, locate_dev.py identique mais documenté avec la license.
Choisissez le premier par défaut (les deux sont présents dans l'archive à télécharger).


Une mise à jour bien méritée de mon premier Locate.py.
Le module est maintenant propre, lisible et documenté.
Il est orienté objet, pour l'importer faites from locate2 import * puis créez votre objet de cette façon :
test_screen = Screen()

Vous pouvez accéder à la documentation du module de cette façon :
import locate2
help("locate2")

Merci.

Documentation
Documentation
NAME
    locate2

DESCRIPTION
    Library created to be a kind of adaptation of the Basic Locate with a
    lot more fonctions for calcs with Python. Made by KikooDX, more
    informations at https://planet-casio.com/. This program is free and
    comes with no warranty.

CLASSES
    builtins.object
        Screen
    
    class Screen(builtins.object)
     |  Methods defined here:
     |  
     |  __init__(self, width=21, height=6, patern=' ')
     |      Parameters :
     |          - int width with width > 1: width of this object
     |          - int height with height > 1 : height of this object
     |          - string patern: char which will fill this object
     |      
     |      Possible errors :
     |          - TypeError : width and height should be int type
     |          - ValueError : width and height don't follow the requirements above.
     |          - ValueError : patern length is more than 1 char.
     |  
     |  fill(self, patern=' ')
     |      Clear this object and then fill it with the char patern.
     |  
     |  get_cell_content(self, x, y) or get_cell
     |      Return the content of the cell asked.
     |      Parameters :
     |          - int x with 1 <= x <= width of this object.
     |              The x position of the cell to return.
     |          - int y with 1 <= y <= height of this object.
     |              The y position of the cell to return.
     |      
     |      Possible errors :
     |          - TypeError : x and y should be int type
     |          - ValueError : x and y don't follow the requirements above.
     |  
     |  locate(self, x, y, string)
     |      Add formated string at the indicated position.
     |      Parameters :
     |          - int x with 1 <= x <= width of this object.
     |              The x position of the cell to return.
     |          - int y with 1 <= y <= height of this object.
     |              The y position of the cell to return.
     |          - string, the content to add at x, y (from top left 1, 1)
     |      
     |      Possible errors :
     |          - TypeError : x and y should be int type
     |          - ValueError : x and y don't follow the requirements above.
     |  locate_v(self, x, y, string):
     |       A vertical locate() equivalent.
     |
     |  refresh(self, ask_for_input=True, endl='\n')
     |      Display the content of this object.
     |      If ask_for_input is True, this fonction return raw user input after
     |      execution.
     |      ask_for_input is True by default.
     |      endl is the last string displayed after the last empty line.
     |  
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |  
     |  __dict__
     |      dictionary for instance variables (if defined)
     |  
     |  __weakref__
     |      list of weak references to the object (if defined)


Commentaires :

Pages: Précédente | 1, 2

KikoodxEn ligneMembrePoints: 1051 Défis: 7 Message
Posté le 15-05-2019 à 20:52 | #
Tu devrais lire le code c'est plutôt explicite, rien de très complexe
Shadow15510Hors ligneAdministrateurPoints: 3106 Défis: 15 Message
Posté le 15-05-2019 à 21:05 | #
Ah ok, il faut créer un objet ! C'est ce qui me manquait… Merci !
DisperseurHors ligneMembrePoints: 1447 Défis: 0 Message
Posté le 16-05-2019 à 19:47 | #
@Kikoodx: J'ai testé et j'ai été déçu désolé. Je pensais que cela fonctionnait en dehors du shell alors que pas du tout. Personnellement j'ai créé une fonction similaire et plus simple d'utilisation dans ma librairie. Vois la fonction "locate()"
Shadow15510Hors ligneAdministrateurPoints: 3106 Défis: 15 Message
Posté le 16-05-2019 à 20:06 | #
Euh, dans le Shell, je n'ai pas eu de problème… ^^' Ou alors je code tellement bien que même mes erreurs font des trucs qui marchent sans que se soit prévu !

Sinon, j'ai eu un bug rigolo : des fois, l'affichage en dehors des coordonnées de bases de l'écran est géré (comme écran.locate(22 , 1 , "TEST') ) d'autre fois non… C'est pas très catholique de chercher la petite bête et j'ai adapté mon code mais, ce serait cool de l'implémenter à fond !
DisperseurHors ligneMembrePoints: 1447 Défis: 0 Message
Posté le 16-05-2019 à 20:49 | #
Je me suis mal exprimé, je pensais que l'affichage ne se passait pas dans le Shell.
KikoodxEn ligneMembrePoints: 1051 Défis: 7 Message
Posté le 17-05-2019 à 09:26 | #
@Disperseur : Je ne pense malheureusement pas que ce soit possible.

@Shadow15510 : Je travaille sur l'implémentation des erreurs en ce moment, ça devrait arriver vite
Chercher la petite bête est important, je cherche à le rendre utilisable proprement.
KikoodxEn ligneMembrePoints: 1051 Défis: 7 Message
Posté le 17-05-2019 à 18:06 | #
Voici la 2.1, j'ai ajouté la gestion des erreurs (ValueError & TypeError) et les docstrings sont mieux présentées.

J'avais une autre implémentation des tests de types à l'esprit, est-ce que quelqu'un peut faire un test pour voir si les décorateurs fonctionnent sur les différentes versions de Python pour calculatrices ? Merci d'avance.
KikoodxEn ligneMembrePoints: 1051 Défis: 7 Message
Posté le 20-05-2019 à 16:51 | #
2.1.1, poids du programme divisé par deux par rapport à la 2.1 (suppression des docstrings) et ajout d'une nouvelle version dans le dossier (l'ancienne 2.1) documentée et (un peu) commentée, pour moi et les personnes voulant comprendre le code.
KikoodxEn ligneMembrePoints: 1051 Défis: 7 Message
Posté le 22-05-2019 à 09:11 | #
Pas mal de nouveautés, 3 nouvelles méthodes et 1 nouveau paramètres (voir patch note pour plus de détails), j'ai également ajouté une démo dans le téléchargement.

Pages: Précédente | 1, 2

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 49 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd