Page 1 sur 1

Geany pour petits programmes scolaires en Python

Posté : mer. 8 janv. 2020 18:14
par blandine
Bonjour, j'ai installé Geany ainsi que les outils pour Geany présents dans les dépots. J'ai besoin d'un petit coup de pouce parce que j'étais habituée à l'environnement Edupython sous windows , et là je bloque sur ceci : j'ouvre Geany, je choisis fichier, nouveau selon modèle, je choisis le modèle main.py, et j'obtiens un fichier pré préparé avec ceci :

Code : Tout sélectionner

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def main(args):
    return 0

if __name__ == '__main__':
    import sys
    sys.exit(main(sys.argv))
supposons que je veuille définir une fonction qui me donne le plus petit de deux nombres comme ceci :

Code : Tout sélectionner

def mini(a,b):
    if(a<b):
        return(a)
    else:
        return(b)
Pour appeler la fonction dans edupython, il suffisait de taper min(3,4) dans la console pour avoir le résultat mais là je n'arrive pas à trouver la procédure, je suppose que c'est le if--name.... qu'il faut utiliser mais je ne comprends pas comment utiliser cette commande. Grand merci à vous par avance.

Re: Geany pour petits programmes scolaires en Python

Posté : jeu. 9 janv. 2020 09:11
par alain
Bonjour Blandine.

Je vais peut être dire des bêtises, car je ne connais pas windows ni edupython, reprends moi si je me trompe.

Donc, je suppose qu'avec edupython (j'en déduit ça au nom éducation+python) sous windows, tu as une console oui mais une console
générée par edupython.
Du coup en étant dans le logiciel édupython quand tu fais un bout de script comme dans ton exemple, il suffit dans la console d'édupythonde lancer la fonction
que tu as défini (ici "min").
En fait tu peux lancer dans édupython le script "actif" . Je pense que cela est la même chose avec un script que tu aurais déjà fait et charger (ouvert)
dans édupython.
C'est une facilité justement pour l'apprentissage.
Je ne suis sûr de rien ne connaissant pas ce logiciel...

En revanche, avec geany il n'y a pas de console python intégrée te permettant de lancer les script que tu es en train d'écrire ou que tu a édité.
Il faut l'enregistrer et le lancer avec l'interpréteur python dans une console linux. (comme dans une console windows au passage)

La commande pour lancer un script python est :

Code : Tout sélectionner

python le_nom_du_fichier.py
bien entendu il faut que tu te place dans le dossier contenant "le_nom_du_fichier.py" ou renseigner le chemin.

Mais ton exemple ne fonctionnera pas, car si tu l'enregistres tel quel en, par exemple, blandine.py, quand tu vas le lancer
en console il s’exécutera bien, mais tu ne verras rien car il n'aura pas de valeurs (3,4) a traiter.
Alors que si tu appelles ta fonction "min" dans la console edupython en lui précisant des valeurs pour a et b, ça fonctionne.

Pour que ton script fonctionne de façon indépendante il faudrait lui ajouter une ligne d'entrée de variable.
Quand tu le lanceras en console la fonction "min" attendra que tu lui entre 3 et 4 et te donnera la réponse.
(c'est le même fonctionnement dans une console windows)
Pour l'entrée des variables en python, je laisse les pros de python t'expliquer, moi je ne connais pas ce langage, ni d'autres d'ailleurs :oops: :l

Une dernière chose. dans geany tu peux faire "execute" (construire==>execute) si ton script a déjà été enregistré avec l’extension .py, cela t'ouvrira une console
directement dans le bon dossier. Mais ton exemple ne fonctionnera pas mieux car pas de valeur pour a et b.

[edit] Par curiosité je viens d'aller sur le site d'édupython,, alors oui il interprète bien le code python, mais pas dans une console, comme je le supposais, mais directement dans des fenêtres, ça m'a l'air pas mal du tout ce logiciel...peut être devrais tu l'installer via wine sur ton linux, car je ne connais
pas d'alternative linux.
ici : https://phychim.ac-versailles.fr/spip.php?article1069 il est question de: spyder, pyso et thonny...A voir [/edit]

Re: Geany pour petits programmes scolaires en Python

Posté : jeu. 9 janv. 2020 16:54
par blandine
Merci beaucoup Alain, je vais réfléchir à tout ce que tu as écrit et je te dirais si j'y arrive ! je préfère encore persévérer sur Geany avant de me rabattre sur Edupython et wine.

Re: Geany pour petits programmes scolaires en Python

Posté : jeu. 9 janv. 2020 18:40
par blandine
Voilà , je commence à comprendre :) voici ce qui manquait et que tu m'as permis de comprendre :

Code : Tout sélectionner

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from math import sqrt

def min(a,b):
    if(a<b):
        return(a)
    else:
        return(b)

a=float(input('a='))
b=float(input('b='))
print min(a,b)
et j'ai la fenêtre du terminal qui apparaît , je rentre mes deux valeurs et c'est ok !
ouf !!! je vais pouvoir poursuivre mon apprentissage tranquillement , c'est finalement pas si compliqué que ça ;)
merci, encore

Re: Geany pour petits programmes scolaires en Python

Posté : jeu. 9 janv. 2020 19:09
par alain
cool ! ;)

Oui il faut déclarer et renseigner les variables, du coup je vois comment ça se fait en python :D

Donc quand tu écris ça et que tu fais "execute" ça fonctionne si j'ai bien compris.

Sinon pour le lancer dans le terminal de linux (pas celui invoqué par geany) il faut que tu fasses comme je t'ai dit.
Maintenant que tu as ajouté les lignes pour les variables ça devrait fonctionner aussi dans un terminal.

Re: Geany pour petits programmes scolaires en Python

Posté : jeu. 9 janv. 2020 20:55
par blandine
oui, je viens de vérifier , ça marche très bien aussi dans le terminal linux , c'est juste un peu plus long puisqu'il faut entrer le chemin du dossier , mais ça fonctionne ! Parfait ! merci encore ! :D :D :D