logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 29-10-2018 07:09:05

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

[RESOLU] Geany : garder le résultat affiché

Bonjour ,

Je suis débutant en programmation et utilise Geany . Les résultats de mes petits programmes s'affichent  pendant 1/4 de seconde et disparaissent : comment régler cela ??

Merci d'avance

Nicolas

Dernière modification par calixtus06 (11-09-2019 09:48:24)


Il n'y a pas de mauvaises questions...

Hors ligne

#2 30-10-2018 22:06:20

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : [RESOLU] Geany : garder le résultat affiché

https://debian-facile.org/doc:programma … al-integre
Regarde l'astuce du chapitre terminal intégré
On dirait que ton résultat s'ouvre dans un terminal popup. Je ne connais pas geany mais il doit y avoir une astuce dans les préférences.

Hors ligne

#3 31-10-2018 17:19:05

vohu
Membre
Inscription : 31-10-2018

Re : [RESOLU] Geany : garder le résultat affiché

C'est normal... parce que le programme se lance, et vu qu'il se termine, le terminal se ferme automatiquement.

Selon le langage, tu peux ajouter une pause à la fin pour que ton terminal ne se ferme pas.

Hors ligne

#4 31-10-2018 20:03:47

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

vohu a écrit :

C'est normal... parce que le programme se lance, et vu qu'il se termine, le terminal se ferme automatiquement.

Selon le langage, tu peux ajouter une pause à la fin pour que ton terminal ne se ferme pas.



Bonjour , je démarre la programmation avec Python3. Dans IDLE la sortie du programme reste à l'écran . Mais pas dans geany.

https://debian-facile.org/images/file-R … 03fc279010

https://debian-facile.org/images/file-R … 511f3e6654

Je bloque ..

Dernière modification par calixtus06 (31-10-2018 20:11:29)


Il n'y a pas de mauvaises questions...

Hors ligne

#5 31-10-2018 20:30:22

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 27-09-2012
Site Web

Re : [RESOLU] Geany : garder le résultat affiché

L'exécution de ton programmme a besoin d'un terminal pour fonctionner. Il le lance puis le ferme quand il a fini. C'est normal je dirais. Si tu veux garder le terminal ouvert. Il faut lancer le programme depuis le terminal. C'est pour ça qu'il faut utiliser l'option terminal intégré pour Geany.

Hors ligne

#6 02-11-2018 13:26:07

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

Re bonjour, j'ai bien coché " exécuter les programmes dans le VTE" mais l'écran se referme à la différence de IDLE3 qui me le laisse en place.

Il n'y a pas de mauvaises questions...

Hors ligne

#7 02-11-2018 13:29:47

vohu
Membre
Inscription : 31-10-2018

Re : [RESOLU] Geany : garder le résultat affiché

Oui, c'est bien ce que je disais, donc une rustine assez moche consiste à ajouter

 input("Press Enter to continue...")

à la fin de ton programme et ton terminal restera ouvert.

Sauf s'il y a une erreur... que tu n'auras probablement pas le temps de lire non plus.

En allant dans Edition>Préférences>Outils j'ai la commande

x-terminal-emulator -e "/bin/sh %c"

. Tu as probablement autre chose. Il y a forcément un moyen de configurer geany pour que ce terminal reste ouvert.

Hors ligne

#8 02-11-2018 19:02:18

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

Salut,

J'ai la même chose:

x-terminal-emulator -e "/bin/sh %c"



Où dois je coller la rustine que tu me proposes ?


Il n'y a pas de mauvaises questions...

Hors ligne

#9 09-01-2019 13:58:19

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

Bonjour, je relance ce sujet  car je fouille de partout sur le net et ne trouve rien.

J'ai tenté d'aller sur le canal IRC de Geany mais je ne comprends pas comment il faut s'enregistrer ( registration) ..

Des vidéos sur youtube, des forums ...J'ai bien coché comme indiqué dans le lien précédent :

https://debian-facile.org/doc:programma … al-integre

Je cale . Si quelqu'un peut m'aider je suis preneur

Dernière modification par calixtus06 (09-01-2019 13:59:29)


Il n'y a pas de mauvaises questions...

Hors ligne

#10 09-01-2019 14:14:59

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

calixtus06 a écrit :

Salut,

J'ai la même chose:

x-terminal-emulator -e "/bin/sh %c"



Où dois je coller la rustine que tu me proposes ?




Désolé ..la fatigue : à la fin du programme. Je l'ai fait mais ni erreur ni affichage



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

import turtle
dir(turtle)

input("Press Enter to continue..."



https://debian-facile.org/images/file-R … 55f8c7480a

https://debian-facile.org/images/file-R … d94074b8a8

Avec print (dir(turtle)) ça fonctionne et ça reste ! mais si je demande à faire apparaître un graphisme, la forme disparaît:

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

import turtle
t=turtle.Pen()
t.rectangle(50)

Dernière modification par calixtus06 (09-01-2019 14:43:09)


Il n'y a pas de mauvaises questions...

Hors ligne

#11 09-01-2019 15:29:18

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

résolu, il y avait une fonction bien cachée:

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

import turtle

pen=turtle.Pen()

def mon_carre (taille):
  for x in range (1,5):
    pen.forward(taille)
    pen.left(90)
   
   
mon_carre(50)
mon_carre(70)
mon_carre(80)
mon_carre(100)
turtle.exitonclick()



Mais qui ne permet pas comme IDLE et j'aimerais bien comprendre pourquoi , de faire apparaître la fenêtre de réalisation simultanément...


Il n'y a pas de mauvaises questions...

Hors ligne

#12 09-01-2019 15:40:40

chalu
Modératrice
Lieu : Anjou
Distrib. : openSUSE Tumbleweed
Noyau : Linux 5.12
(G)UI : KDE 5.21.4
Inscription : 11-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

calixtus06 a écrit :

Où dois je coller la rustine que tu me proposes ?


à la fin de ton programme

input("Press Enter to continue...")


une fois fois que ton programme arrive à cette ligne, il attend que tu appuies sur une touche pour finir ce qui te laisse le temps de lire des résultats précédemment affichés.

Edit : message pour rien, tu l'avais déjà trouvé roll j'ai lu trop vite hmm

Hors ligne

#13 09-01-2019 15:58:04

chalu
Modératrice
Lieu : Anjou
Distrib. : openSUSE Tumbleweed
Noyau : Linux 5.12
(G)UI : KDE 5.21.4
Inscription : 11-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

calixtus06 a écrit :

j'aimerais bien comprendre pourquoi , de faire apparaître la fenêtre de réalisation simultanément


J'ai testé ton programme il semble bien fonctionner
j'ai une fenêtre qui s'ouvre avec le titre Python Turtle Graphics où les carrés qui se dessinent
Tu l'as aussi ? je n'ai pas bien compris ce qui te manque smile

Edit : tu cliques sur le bouton "Executer ou voir le fichier courant" ou sur le bouton "compiler" ?

Hors ligne

#14 09-01-2019 23:26:46

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

chalu a écrit :

calixtus06 a écrit :

j'aimerais bien comprendre pourquoi , de faire apparaître la fenêtre de réalisation simultanément


J'ai testé ton programme il semble bien fonctionner
j'ai une fenêtre qui s'ouvre avec le titre Python Turtle Graphics où les carrés qui se dessinent
Tu l'as aussi ? je n'ai pas bien compris ce qui te manque smile

Edit : tu cliques sur le bouton "Executer ou voir le fichier courant" ou sur le bouton "compiler" ?



Salut Chalu !

Justement j'ai vu cette fameuse fenêtre apparaître sur un blog :

https://zestedesavoir.com/tutoriels/944 … a-fenetre/

mais je ne la vois pas avec geany.

Une fois le programme enregistré ( save as + nom.py) j'appuie sur exécuter

Là ça ne marche déjà plus:

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

from turtle import *
 
def ma_spirale(angle, distance, compteur):
  while compteur <= 30:
    forward(distance)
    left(angle)
    compteur += 1
    angle += 2
   
ma_spirale(4,20,-30)
   
turtle.exitonclick()



La spirale se forme et disparait. La fonction exitonclick ne fonctionne pas dans ce cas ..

Là ça fonctionne :

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


from turtle import *
angle = 5
distance = 10
compteur = 0

while compteur <= 30:
    forward(distance)
    left(angle)
    compteur += 1
    angle += 2
   
exitonclick()

Dernière modification par calixtus06 (09-01-2019 23:37:34)


Il n'y a pas de mauvaises questions...

Hors ligne

#15 10-01-2019 08:42:56

chalu
Modératrice
Lieu : Anjou
Distrib. : openSUSE Tumbleweed
Noyau : Linux 5.12
(G)UI : KDE 5.21.4
Inscription : 11-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

La fenêtre de la spirale disparaît aussi chez moi avec le programme :


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

from turtle import *
 
def ma_spirale(angle, distance, compteur):
  while compteur <= 30:
    forward(distance)
    left(angle)
    compteur += 1
    angle += 2
   
ma_spirale(4,20,-30)
   
turtle.exitonclick()
 


dans le terminal j'ai eu le message d'erreur :


Traceback (most recent call last):
  File "essai3", line 16, in <module>
    turtle.exitonclick()
NameError: name 'turtle' is not defined
 


du coup j'ai corrigé le programme ainsi et ça marche comme pour les carrés :


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

import turtle
from turtle import *
 
def ma_spirale(angle, distance, compteur):
  while compteur <= 30:
    forward(distance)
    left(angle)
    compteur += 1
    angle += 2
   
ma_spirale(4,20,-30)
   
turtle.exitonclick()
 


Et je n'ai plus de message d'erreur
file-Ra5ee9aecec6dfba0c69e94cf19424358.png

Hors ligne

#16 10-01-2019 15:12:06

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

ok, du coup même si on importe tout de turtle il faut préciser qu'on importe turtle . C'est ça ?

Il n'y a pas de mauvaises questions...

Hors ligne

#17 10-01-2019 16:41:37

chalu
Modératrice
Lieu : Anjou
Distrib. : openSUSE Tumbleweed
Noyau : Linux 5.12
(G)UI : KDE 5.21.4
Inscription : 11-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

non, tu as la réponse ici https://stackoverflow.com/questions/307 … tle-import
Si tu utilises turtle.nomqquchose il faut avoir importé turtle avec import turtle

Si tu utilise from turtle import * tu ne dois pas mettre turtle.nomqqchose mais seulement nomqqchose

Hors ligne

#18 14-01-2019 15:16:12

calixtus06
Membre
Distrib. : Librazik 4
Noyau : 5.10.0-14-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

Salut , j'ai suivi ton lien . Pour  moi dans l'une des propositions   "t " est un objet créé par la méthode Pen() du module turtle et dans l'autre cas c'est objet de la méthode Turtle ( et non  turtle) du module turtle. Je dis peut être de grosses bêtises.

Il n'y a pas de mauvaises questions...

Hors ligne

#19 14-01-2019 19:18:01

chalu
Modératrice
Lieu : Anjou
Distrib. : openSUSE Tumbleweed
Noyau : Linux 5.12
(G)UI : KDE 5.21.4
Inscription : 11-03-2016

Re : [RESOLU] Geany : garder le résultat affiché

Pour prendre l'exemple avec Pen sur ton premier programme avec les carrées :
méthode 1


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

import turtle

t=turtle.Pen()

def mon_carre (taille):
  for x in range (1,5):
    t.forward(taille)
    t.left(90)
   
mon_carre(50)
mon_carre(70)
mon_carre(80)
mon_carre(100)
turtle.exitonclick()


méthode 2 :


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

from turtle import *

t=Pen()

def mon_carre (taille):
  for x in range (1,5):
    t.forward(taille)
    t.left(90)
   
mon_carre(50)
mon_carre(70)
mon_carre(80)
mon_carre(100)
exitonclick()
 

Hors ligne

Pied de page des forums