Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2022-12-29T16:42:36+01:00Les derniers messages parus sur le forum de Zeste de Savoir.Recherche librairie graphique arbre horizontale, message #2479692022-12-29T16:42:36+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p247969<p>Voici quelques suggestions de librairies qui pourraient répondre à vos besoins en termes de gestion graphique d’arbres horizontaux utilisables avec Python 2 :</p>
<ul>
<li>
<p>PyGTK : cette librairie est développée en C et permet de créer des interfaces graphiques pour les applications Python. Elle inclut des widgets tels que TreeView, qui peut être utilisé pour afficher des arbres de façon horizontale avec un système d’accordéon. PyGTK est disponible sous licence LGPL.</p>
</li>
<li>
<p>PyQt : cette librairie est basée sur Qt et permet également de créer des interfaces graphiques pour les applications Python. Elle inclut un widget QTreeView qui peut être utilisé pour afficher des arbres de façon horizontale avec un système d’accordéon. PyQt est disponible sous licence GPL et commercielle.</p>
</li>
<li>
<p>wxPython : cette librairie est basée sur wxWidgets et permet également de créer des interfaces graphiques pour les applications Python. Elle inclut un widget TreeCtrl qui peut être utilisé pour afficher des arbres de façon horizontale avec un système d’accordéon. wxPython est disponible sous licence LGPL.</p>
</li>
</ul>
<p>Il est recommandé de vérifier les licences de ces librairies afin de s’assurer qu’elles sont adaptées à votre usage professionnel. Vous devriez également prendre en compte d’autres facteurs tels que la popularité et la documentation disponible avant de faire votre choix.</p>Recherche librairie graphique arbre horizontale, message #2477822022-12-21T15:26:16+01:00Gil Cot/@Gil%20Cothttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p247782<blockquote>
<p>On a trouvé un moyen d’utiliser en partie python3 mais ça reste bancale</p>
</blockquote>
<p>Tiens nous au courant, mais normalement depuis tout le temps que les versions 3 sont dehors (et certaines ne sont déjà plus supportées) tous les problèmes de migration/portage ont été recensés et solutionnés (en tout cas je trouve toujours une réponse dans les docs officielles et/ou sur SO…) </p>Recherche librairie graphique arbre horizontale, message #2477762022-12-21T12:01:26+01:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p247776<p>Pour le moment le projet est en pause donc rien n’a été fait à ce niveau<br>
On a trouvé un moyen d’utiliser en partie python3 mais ça reste bancale</p>Recherche librairie graphique arbre horizontale, message #2477752022-12-21T11:48:44+01:00Gil Cot/@Gil%20Cothttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p247775<blockquote>
<p>Il faut obligatoirement que ça soit utilisable avec Python 2 (oui je sais ! )</p>
</blockquote>
<p>Déjà que vouloir garder un mort vivant n’est pas top…</p>
<blockquote>
<p>Le but est de l’intégrer dans une appli qui sera vendue à des particuliers et des entreprises</p>
</blockquote>
<p>…mais en plus si c’est pour un projet pro, je ne comprends pas le masochisme (en plus pour la pérennité du projet c’est mort né non ?)</p>
<p>Ceci dit, espérons que ETE a été de quelque secours ou qu’une autre bonne bibliothèque a été trouvée depuis (je déterre un vieux sujet je sais) <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"> </p>Recherche librairie graphique arbre horizontale, message #2441802022-07-07T21:50:17+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p244180<p><a href="/@etherpin" rel="nofollow" class="ping ping-link">@<span class="ping-username">etherpin</span></a>: Attention ETE est en version 3 mais leur code d’exemple, j’ai bien l’impression qu’ils utilisent la version 2 de python.</p>
<p>J’ai l’impression que t’as trouvé ce qu’il faut.</p>Recherche librairie graphique arbre horizontale, message #2441742022-07-07T19:28:04+02:00etherpin/@etherpinhttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p244174<p>Il y aurait bien <a href="http://etetoolkit.org/">ETE Toolkit</a> , mais c’est actuellement en Python 3. </p>
<p>Reste à voir dans quel état est : <a href="https://pypi.org/project/ete2/">https://pypi.org/project/ete2/</a><br>
Licence GNU General Public License (GPL) (GPLv3)</p>
<p>Bonne chance !</p>
<p><em>Je me demande si Darwin ne travaillait pas en Python 0</em> <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"> </p>Recherche librairie graphique arbre horizontale, message #2441682022-07-07T17:00:40+02:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p244168<p>Représenter un arbre sous forme graphique ne parait pas être un besoin exceptionnel. J’ai trouvé plusieurs librairies qui le font mais la contrainte de python 2 est vraiment limitante (et je ne peux pas y échapper)</p>
<p>Pour la fonctionnalité d’accordéon, je suis prêt à la coder si nécessaire/possible</p>Recherche librairie graphique arbre horizontale, message #2441662022-07-07T16:00:00+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p244166<p>C’est TRÈS précis comme demande.</p>
<p>J’ai des doutes sur le fait que tu trouves.</p>Recherche librairie graphique arbre horizontale, message #2441552022-07-07T10:36:38+02:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/16359/recherche-librairie-graphique-arbre-horizontale/?page=1#p244155<p>Bonjour à tous,</p>
<p>Dans le cadre d’un projet professionnel, je suis à la recherche d’une librairie pour gérer graphiquement des arbres de façon horizontale </p>
<ul>
<li>
<p>Dans l’idéale, j’aimerai que la librairie permette d’afficher les nœuds de manière progressive (comme un système d’accordéon ou autre) car l’arbre peut être très grand </p>
</li>
<li>
<p>Il faut obligatoirement que ça soit utilisable avec Python 2 (oui je sais ! )</p>
</li>
<li>
<p>Le but est de l’intégrer dans une appli qui sera vendue à des particuliers et des entreprises donc il faut que la licence soit adaptée</p>
</li>
</ul>
<p>Si vous avez déjà rencontrer ce genre de chose, je suis tout ouïe</p>
<p>Dernière chose: si il manque des fonctionnalité, je peux contribuer (si c’est open source évidement) pour les ajouter mais mon besoin est plutôt urgent donc je ne peux pas y passer énormément de temps</p>programme moyenne géométrique , message #2397802021-12-22T20:11:12+01:00elegance/@elegancehttps://zestedesavoir.com/forums/sujet/15934/programme-moyenne-geometrique/?page=1#p239780<blockquote>
<p> la moyenne géométrique de la racine carrée de a par b</p>
</blockquote>
<p>Non.</p>
<p>Voici l’énoncé de l’exercice corrigé :</p>
<p>Exercice 1: <em>Écrire un programme qui imprime la moyenne géométrique de deux n’ombres positifs a et b de type float lus en entrée. Si au moins un de ces nombres est strictement négatif, le programme imprime le texte « Erreur ». Précision : la moyenne géométrique de 2 nombres a et b est la racine carrée du produit ab.</em></p>programme moyenne géométrique , message #2397792021-12-22T20:09:01+01:00Aabu/@Aabuhttps://zestedesavoir.com/forums/sujet/15934/programme-moyenne-geometrique/?page=1#p239779<p>Je vois au passage que tu as mis spécifiquement « python 2 » comme tag. Est-ce que c’est une contrainte qui t’es donnée ? Python 2 est en fin de vie et il est très préférable d’utiliser Python 3.</p>programme moyenne géométrique , message #2397762021-12-22T18:54:34+01:00entwanne/@entwannehttps://zestedesavoir.com/forums/sujet/15934/programme-moyenne-geometrique/?page=1#p239776<p>Salut et bienvenue sur Zeste de Savoir,</p>
<p>Afin de pouvoir t’aider au mieux, est-ce que tu pourrais nous dire/montrer ce que tu as déjà essayé / commencé à faire et nous expliquer sur quels points plus particuliers tu aurais besoin d’aide ?</p>
<p>Pour le premier exercice par exemple, est-ce que tu sais comment récupérer des nombres depuis le terminal ? Est-ce que tu sais comment calculer une racine carrée et une moyenne géométrique en Python, quelles opérations effectuer ?</p>programme moyenne géométrique , message #2397752021-12-22T18:50:22+01:00Leane/@Leanehttps://zestedesavoir.com/forums/sujet/15934/programme-moyenne-geometrique/?page=1#p239775<p>Bonjour
j’ai besoin d’aide pour un programme python.
Je suis en 1ère et ai pris la spécialité NSI et j’ai vraiment du mal
Certaines personnes sauraient m’aider?</p>
<p>Exercice 1:
Écrire un programme qui imprime la moyenne géométrique de la racine carrée de a par b de deux n’ombres positifs a et b de type float lus en entrée.
Si au moins un de ces nombres est strictement négatif, le programme imprime le texte « Erreur ».</p>
<p>Exercice 2:
Écrire une fonction somme(a, b) qui retourne la somme de deux valeurs entières a et b.
Par défaut, la valeur de a est 0 et la valeur de b est 1.
—> le code doit uniquement comporter la définition de la fonction somme sans faire appel à input ni à print.
—> la fonction somme ne doit pas tester le type des paramètres reçus.</p>
<p>Un immense merci à ceux qui me répondront </p>Extraire toutes les combinaison d'un chemin, message #2377352021-09-24T16:06:04+02:00Jeph/@Jephhttps://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237735<figure><blockquote>
<p>j’ai vu ton message avant que tu n’édites et utiliser combinations sur <code>s[0:-1]</code> puis ajouter cet élément à la fin me parait une bonne idée ! </p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237727">DonKnacki</a></figcaption></figure>
<p>Oui mais j’ai edit car j’avais dit une bêtise dans le post également <img src="/static/smileys/svg/heureux.svg" alt=":D" class="smiley"> </p>Extraire toutes les combinaison d'un chemin, message #2377332021-09-24T14:35:30+02:00adri1/@adri1https://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237733<figure><blockquote>
<p>Sinon je crois qu’il vaut mieux utiliser la méthode <code>extend</code> pour concaténer des listes plutôt que d’en construire une nouvelle avec <code>+=</code>.</p>
<p>Ma proposition :</p>
<div class="hljs-code-div hljs-code-python"><div class="hljs-line-numbers"><span data-count="1"></span></div><pre><code class="hljs language-python">all_path_combinations.extend([(*comb, path_end ) <span class="hljs-keyword">for</span> comb <span class="hljs-keyword">in</span> combination])
</code></pre></div>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237728">simbilou</a></figcaption></figure>
<p>L’avantage d'<code>extend</code> est justement que tu n’as pas besoin de construire une liste pour le rhs puisqu’elle peut prendre un itérable (donc un générateur) :</p>
<div class="hljs-code-div hljs-code-python"><div class="hljs-line-numbers"><span data-count="1"></span></div><pre><code class="hljs language-python">all_path_combinations.extend((*comb, path_end) <span class="hljs-keyword">for</span> comb <span class="hljs-keyword">in</span> combination)
</code></pre></div>
<p>(<code>+=</code> ne crée pas de nouvelle liste par ailleurs, le lhs est modifié directement).</p>
<p><a href="/@DonKnacki" rel="nofollow" class="ping ping-link">@<span class="ping-username">DonKnacki</span></a> : je vois le tag Python 2, à moins de maintenir un vieux code dont la migration vers Python 3 serait vraiment compliquée, utilise Python 3. Python 2 est en fin de vie, et Python 3 apporte pas mal de choses.</p>Extraire toutes les combinaison d'un chemin, message #2377312021-09-24T12:47:37+02:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237731<p>ma plus grande préoccupation était d’utiliser n fois itertools.combinations mais ça semble pas être si mal <img src="/static/smileys/svg/smile.svg" alt=":)" class="smiley"></p>Extraire toutes les combinaison d'un chemin, message #2377282021-09-24T11:06:57+02:00simbilou/@simbilouhttps://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237728<blockquote>
<p>cela fonctionne mais je me demande si c’est optimal ? </p>
</blockquote>
<p>Je ne pense pas. En fait si tu veux toujours le dernier élément à la fin il te suffit de générer les combinaisons sans considérer ce dernier et l’ajouter manuellement ensuite. Sinon je crois qu’il vaut mieux utiliser la méthode <code>extend</code> pour concaténer des listes plutôt que d’en construire une nouvelle avec <code>+=</code>.</p>
<p>Ma proposition :</p>
<div class="hljs-code-div hljs-code-python"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span><span data-count="10"></span></div><pre><code class="hljs language-python"><span class="hljs-keyword">import</span> itertools
*path_parts, path_end = <span class="hljs-string">'le site/zestedesavoir/est super'</span>.split(<span class="hljs-string">'/'</span>)
all_path_combinations = []
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-built_in">len</span>(path_parts) + <span class="hljs-number">1</span>):
combination = itertools.combinations(path_parts, i)
all_path_combinations.extend([(*comb, path_end ) <span class="hljs-keyword">for</span> comb <span class="hljs-keyword">in</span> combination])
<span class="hljs-built_in">print</span>(all_path_combinations)
</code></pre></div>
<p>Edit: Du coup je suis un peu redondant mais bon <img src="/static/smileys/svg/langue.svg" alt=":p" class="smiley"> </p>Extraire toutes les combinaison d'un chemin, message #2377272021-09-24T11:00:46+02:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237727<p>j’ai vu ton message avant que tu n’édites et utiliser combinations sur <code>s[0:-1]</code> puis ajouter cet élément à la fin me parait une bonne idée ! </p>Extraire toutes les combinaison d'un chemin, message #2377262021-09-24T10:51:52+02:00Jeph/@Jephhttps://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237726<p>Bonjour,</p>
<p>Pour générer toutes les combinaisons, tu peux pour cela utiliser une fonction récursive. Et tu construis au fur et à mesure ton résultat r (et tu réduis la taille de ton entrée t), en faisant deux appels récursif (l’un ou l’élément courant est ajouté au résultat, l’un ou l’autre ne l’est pas).</p>
<div class="hljs-code-div hljs-code-text"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span></div><pre><code class="hljs language-text">étape 0 : t = ['le site', 'zestedesavoir'], r = []
étape 1.1 : t = ['zestedesavoir'], r = ['le site']
étape 2.1 : t = [], r = ['le site', 'zestedesavoir'] -> t est vide j’ajoute r au résultat
étape 2.2 : t = [], r = ['le site'] -> t est vide, j’ajoute r au résultat
étape 1.2 : t = ['zestedesavoir'], r = []
étape 2.1 : t = [], r = ['zestedesavoir'] -> t est vide [...]
étape 2.2 : t = [], r = [] -> t est vide [...]
</code></pre></div>
<p>De cette manière tu peux générer toutes les combinaisons possibles (c’est généralisable avec un tableau de taille arbitraire, puisque fonction récursive).</p>
<p>C’est peut être un peu plus efficace que <code>itertools</code> mais ce n’est vraiment pas certain, je laisse d’autres (plus avertis) t’éclairer sur ce point.</p>Extraire toutes les combinaison d'un chemin, message #2377252021-09-24T10:26:43+02:00DonKnacki/@DonKnackihttps://zestedesavoir.com/forums/sujet/15723/extraire-toutes-les-combinaison-dun-chemin/?page=1#p237725<p>Bonjour à tous,</p>
<p>J’aurai besoin de votre aide pour un petit script :<br>
j’ai une chaine de caractère qui ressemble à un chemin de répertoire (donc des chaines séparées par "/")<br>
exemple : <code>'le site/zestedesavoir/est super'</code></p>
<p>Je cherche à récupérer toutes les combinaisons de cette chaine de manière ordonnée et avec au moins toujours le dernier élément.<br>
ici on aurait :</p>
<div class="hljs-code-div hljs-code-py"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span></div><pre><code class="hljs language-py">[<span class="hljs-string">'le site'</span>, <span class="hljs-string">'zestedesavoir'</span>, <span class="hljs-string">'est super'</span>]
[<span class="hljs-string">'le site'</span>, <span class="hljs-string">'est super'</span>]
[<span class="hljs-string">'est super'</span>]
[<span class="hljs-string">'zestedesavoir'</span>, <span class="hljs-string">'est super'</span>]
</code></pre></div>
<p>la longueur de la chaine peut varier.</p>
<p>J’ai donc pensé utiliser itertools.combinations mais cela m’oblige à l’utiliser autant de fois qu’il y a d’éléments dans ma liste</p>
<div class="hljs-code-div hljs-code-py"><div class="hljs-line-numbers"><span data-count="1"></span><span data-count="2"></span><span data-count="3"></span><span data-count="4"></span><span data-count="5"></span><span data-count="6"></span><span data-count="7"></span><span data-count="8"></span><span data-count="9"></span><span data-count="10"></span></div><pre><code class="hljs language-py"><span class="hljs-keyword">import</span> itertools
s = <span class="hljs-string">'le site/zestedesavoir/est super'</span>.split(<span class="hljs-string">'/'</span>)
all_combinations = []
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-built_in">len</span>(s)):
combination = itertools.combinations(s, i +<span class="hljs-number">1</span>)
all_combinations += <span class="hljs-built_in">list</span>(combination)
<span class="hljs-keyword">for</span> combination <span class="hljs-keyword">in</span> all_combinations:
<span class="hljs-keyword">if</span> s[-<span class="hljs-number">1</span>] == combination[-<span class="hljs-number">1</span>]: <span class="hljs-comment"># on veut uniquement les combinaisons qui se finisse par le dernier élément de la chaine</span>
<span class="hljs-built_in">print</span>(combination)
</code></pre></div>
<p>cela fonctionne mais je me demande si c’est optimal ? </p>Discord.py / problème d'hébergement sur Heroku et Github, message #2289462020-12-10T12:25:41+01:00Chevalier Saphir/@Chevalier%20Saphirhttps://zestedesavoir.com/forums/sujet/14827/discordpy-probleme-dhebergement-sur-heroku-et-github/?page=1#p228946<p>Bonjour, j’ai décidé depuis peu de m’amuser à créer un bot discord avec discord.py, et j’ai décidé de l’héberger sur Heroku en passant par GitHub. Cependant après avoir mis les fichiers, connecté GitHub et tout, mon bot reste inactif. Quelqu’un peu m’aider s’il vous plaît ?</p>