Résolu le 9-01-20 Geany pour petits programmes scolaires en Python

Répondre
blandine
Messages : 22
Enregistré le : lun. 16 déc. 2019 22:19

Geany pour petits programmes scolaires en Python

Message 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.
Modifié en dernier par blandine le jeu. 9 janv. 2020 18:43, modifié 1 fois.
HP-Laptop-17-bs0xx Ker5.3.0-40-gx86_64 bits:64comp: gcc v: 7.4.0 Desktop:Cinnamon4.4.8 wm:muffin dm: LightDM ;Distr:LM19.3 Tricia base:Ubuntu18.04 bionic;CPU:Topo:Dual Core:Intel Core i3-6006U bits:;Graphics:Device-1:Intel Skylake GT2 [HD Graphics 520];Device-2: AMD Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] ; Network:Device-1:Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor:driver: r8168 v: 8.046.00-NAPI : Device-2: Realtek driver N/A
Avatar du membre
alain
Administrateur du site
Messages : 17180
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles
Contact :

Re: Geany pour petits programmes scolaires en Python

Message 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]
Слава Україні _ слава героям махновщини
PC1 : CM : ASRock 990FX | CPU: AMD FX 8350-8 cores, 4 GHz | RAM: 16 Go DDR3 1600 MHz | CG: GTX 1080TI-11 Go | OS : LM 22 Xfce 4.18 | K: 6.8
PC2
:Core2 Quad Q9650 @ 3 GHz | CG: Nvidia GTX 650TI | OS: LM 22 Wilma Xfce 4.18| K: 6.8
PC3 :Core i7-2600 @ 3,5 GHz | CG: ATI HD 4650 | OS: Emmade5 Xfce 4.18.0 | K: 6.1
PC4 : AMD Ryzen 5 3500X 4GHz | CG: GTX 970 | Ram : 8GB |OS : Debian 12.8 | K: 6.1
In a world without walls and fences, who needs windows and gates?
blandine
Messages : 22
Enregistré le : lun. 16 déc. 2019 22:19

Re: Geany pour petits programmes scolaires en Python

Message 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.
HP-Laptop-17-bs0xx Ker5.3.0-40-gx86_64 bits:64comp: gcc v: 7.4.0 Desktop:Cinnamon4.4.8 wm:muffin dm: LightDM ;Distr:LM19.3 Tricia base:Ubuntu18.04 bionic;CPU:Topo:Dual Core:Intel Core i3-6006U bits:;Graphics:Device-1:Intel Skylake GT2 [HD Graphics 520];Device-2: AMD Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] ; Network:Device-1:Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor:driver: r8168 v: 8.046.00-NAPI : Device-2: Realtek driver N/A
blandine
Messages : 22
Enregistré le : lun. 16 déc. 2019 22:19

Re: Geany pour petits programmes scolaires en Python

Message 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
HP-Laptop-17-bs0xx Ker5.3.0-40-gx86_64 bits:64comp: gcc v: 7.4.0 Desktop:Cinnamon4.4.8 wm:muffin dm: LightDM ;Distr:LM19.3 Tricia base:Ubuntu18.04 bionic;CPU:Topo:Dual Core:Intel Core i3-6006U bits:;Graphics:Device-1:Intel Skylake GT2 [HD Graphics 520];Device-2: AMD Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] ; Network:Device-1:Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor:driver: r8168 v: 8.046.00-NAPI : Device-2: Realtek driver N/A
Avatar du membre
alain
Administrateur du site
Messages : 17180
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles
Contact :

Re: Geany pour petits programmes scolaires en Python

Message 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.
Слава Україні _ слава героям махновщини
PC1 : CM : ASRock 990FX | CPU: AMD FX 8350-8 cores, 4 GHz | RAM: 16 Go DDR3 1600 MHz | CG: GTX 1080TI-11 Go | OS : LM 22 Xfce 4.18 | K: 6.8
PC2
:Core2 Quad Q9650 @ 3 GHz | CG: Nvidia GTX 650TI | OS: LM 22 Wilma Xfce 4.18| K: 6.8
PC3 :Core i7-2600 @ 3,5 GHz | CG: ATI HD 4650 | OS: Emmade5 Xfce 4.18.0 | K: 6.1
PC4 : AMD Ryzen 5 3500X 4GHz | CG: GTX 970 | Ram : 8GB |OS : Debian 12.8 | K: 6.1
In a world without walls and fences, who needs windows and gates?
blandine
Messages : 22
Enregistré le : lun. 16 déc. 2019 22:19

Re: Geany pour petits programmes scolaires en Python

Message 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
HP-Laptop-17-bs0xx Ker5.3.0-40-gx86_64 bits:64comp: gcc v: 7.4.0 Desktop:Cinnamon4.4.8 wm:muffin dm: LightDM ;Distr:LM19.3 Tricia base:Ubuntu18.04 bionic;CPU:Topo:Dual Core:Intel Core i3-6006U bits:;Graphics:Device-1:Intel Skylake GT2 [HD Graphics 520];Device-2: AMD Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] ; Network:Device-1:Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor:driver: r8168 v: 8.046.00-NAPI : Device-2: Realtek driver N/A
Répondre