je voudrais faire un programme pour pouvoir plannifier un potager en carré, et ceci de preference de maniere visuelle.
j'ai donc plusieurese "planches" ( grands carrés) divisées en neufs "carrés" (petits carrés) où sont cultiver différents legumes
l'idée serait de dessiner ces planches et carrés et de pouvoir y glisser-deposer des representarions de ce que je veux y mettre ( minifiche avec nom du legume et ses principalles caracteristiques)
il faudrait que le programme
- retienne ce qui a été planté ( où et quand)
- m'alerte si je ne respecte pas mes rotations de culture (ex pas de carottes sur le meme carré avant 4ans, ou par deux fois des legumes racines d'affilée...)
- me suggere des bonne association (ex carré de poireaux à coté d'un carré de carotte...)
- m'alerte des mauvaises associations
- me signale quand le carré sera disponible (par ex avec les 12mois affichés au dessus de chaque carré, qui change de couleur lorsque le carré est occupé)
- fasse un tableau recapitulatif de ce que j'ai déja mi (vu que je dois repartir mes plantations sur 9 "planches", donc 81 "carrés"
il doit pouvoir tourner sur Mac (mais idealement aussi sur Pc)
je n'ai aucune experience en programmation ( si ce n'est les bases du BASIC a l'ecole il y a 25 ou 30 ans... et un peu de HTML/PHP) mais rien ne fais peur !!! :-)
ma question est donc vers où me tourner pour pouvoir ecrire un tel programme ( de facon evolutive: en commencant par un critères et en ajouter d'autres au fur et a mesure)
j'espère avoir été assez clair dans ce que je voudrais faire,
merci de vos réponses et toutes autres suggestions
L'HTML, PHP et JS ne nécessite pas forcément une connexion internet. Mais autrement tu peux le faire avec la plupart des langages, le plus simple serait surement le Java.
Absolumemt faux. Pour un debutant, la syntaxe du java est quelque peu dure à aprehender. Surtout quand on veut juste faire UN programme et non en faire à vie. Je crois qu'il serait beaucoup plus preférable de se tourner vers le Python qui est plus simple à tenir en main et à maitriser par rapport au java. De toute facon, c'est à chacun de s'orienter vers le langage qui lui plait.
Pour quelle raison ? Les objets sont plus intuitifs et la création de classes plus simple en Python.
Le mot clé self qui est partout, les constructeurs , et les variables propres à l'objet qui sont déclaré dans le constructeur je trouve ça bizarre , après c'est surtout une question d'habitude je pense.
Je crois que pour notre ami qui cherche un langage, le principal n'est pas que les classes soient angéliques, mais plutôt simples et faciles à prendre en main. Il ne voudrait pas avoir à mettre plus d'un mois pour apprendre un langage qu'il souhaite utilisé qu'une seule fois (je crois). Il voudrait mieux de s'orienter vers un langage simple et à la fois puissant, le python en occurence.
Ce que je dis n'est pas que le java est nul ou mauvais, mais seulement qu'il est dure à comprendre, à maitriser et à prendre en mais par rapport au python qui présente l'avantage d'être simple. Mais comme je le disais, c'est â chacun de faire son choix.
Si je ne me trompe pas, self n'a jamais été un mot clé, c'est juste une convention de programmeur python. Rien n'oblige à toujours l'utiliser.
Il reste obligatoire. Tu peux lui donner un autre nom, mais tu ne peux pas faire sans (à moins peut-être d'un truc bien sale à base de métaclasses et de modification du scope courant).
Effectivement ce n'est pas un mot clé mais une simple variable faisant référence à l'instance de la classe, on peut techniquement la nommée comme on veut, sauf que c'est déconseillé puisque tout le monde, par convention (PEP8), l'appelle self. Mais on ne peut pas omettre cette référence aussi simplement, il y a une logique à chaque chose.
Si tu n'as pas besoin de référence vers l'instance, peut-être as-tu besoin d'une référence vers la classe, c'est à dire une méthode de classe :
class Object:
@classmethod
def method(cls):
pass
</pre>
Sinon, si tu n'as ni besoin d'une méthode d'instance, ni d'une méthode de classe, alors il te faut une méthode statique :
class Object:
@staticmethod
def method():
pass
</pre>
Et comme l'a cité entwanne, il est important de le répéter : Explicit is better than implicit.
Quel language utiliser?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique