Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/10/2018, à 17:52

fernand1

(RESOLU) différence entre editeur de texte gedit et terminal

Bjr,
je progresse avec python, mais j'ai un souci avec la fonction aléatoire random
Si je lance  directement dans le terminal
python3
>>>import random
a=random.random()
print(a)

le terminal exécute bien les commandes et me donne  à chaque fois un nombre allant de 0 à 1

Si je lance les mêmes commandes, les mêmes instructions au travers de gedit l'éditeur de texte, il me lance une page d'erreur.
Alors que j'arrive à lancer bon nombre d'autres opérations mathématiques (calcul surface, volume, les 4 opérations...)

Qu'est-ce que je dois entrer via l'éditeur de texte pour obtenir un nombre aléaoire???
Merci et au plaisir de progresser avec vous.

Dernière modification par fernand1 (Le 15/10/2018, à 07:26)

Hors ligne

#2 Le 14/10/2018, à 18:05

Watael

Re : (RESOLU) différence entre editeur de texte gedit et terminal

salut,

quel est précisément le message d'erreur ?

gedit édite un fichier. il faut écrire les commandes comme si elles composaient un script :
la première ligne est un shebang indiquant le programme à utiliser,
puis les commandes du programmes pour obtenir le résultat souhaité.

la console ouvre un terminal python dans lequel sont exécutées les commandes tapées.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 14/10/2018, à 18:55

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Je me rends compte que via gedit, je n'arrive plus à rien, pas seulement avec random.
Par ex: voila un petit programme que j'écris via gedit
print("bonjour")
A=4+3
B=5*6
print(A)
print(A+B)
print("3+3 = ");print(3+3)

J'avais enregistré ce miniprogramme avec extension .py, (AAA.py) suis allé dans propriété et permission. Tout ça fonctionnait.

Maintenant dans le terminal je tape python3 /home/yvon/Bureau/AAA.py
et voila le retour:

yvon@yvon-ThinkPad-SL510:~$ python3 /home/yvon/Bureau/AAA.py
  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                              ^
SyntaxError: EOL while scanning string literal
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/tempfile.py", line 184, in <module>
    from random import Random as _Random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined

Original exception was:
  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                              ^


Impossible de mettre le retour du terminal entre les 2 flèches.
Est-ce que je fais une erreur, je fais un copier du terminal et je tente de coller cela entre les 2 <> mais pas de résultats probants.

Ce qui m'étonne,pour revenir à python,  la réponse du terminal fait référence à random, or pas de random  dans mon mini programme.
Quelque chose reste dans le terminal en mémoire, d'un programme précédent. Pourtant, je ferme carrément le terminal, avant de le rouvrir pour lancer un nouveau programme.
Je vais tenter ces opérations au départ d'un autre pc, mais si vous pouvez m'éclairer!

Hors ligne

#4 Le 14/10/2018, à 18:57

xubu1957

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Bonjour,

Pour ajouter toi-même les balises code à ton précédent message #3 :

  • Cliquer sur  le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message

1530289742.png

comme indiqué dans le : Retour utilisable de commande


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

En ligne

#5 Le 14/10/2018, à 19:02

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Bonsoir,

  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                              ^
SyntaxError: EOL while scanning string literal

Tu n'as pas un nombre pair de ".

Hors ligne

#6 Le 14/10/2018, à 19:40

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Je n'ai pas encore décortiqué vos réponses, toutefois je viens de tester sur le  même pc (j'ai 2 OS ubuntu 18.04) et là sur le second, tous les programmes de gedit vers le terminal fonctionnent. Plus de soucis avec random.
Donc problème sur l'autre OS!

Je n'arrive toujours pas à joindre le retour du terminal.
Je bleuis le retour du terminal, je clic sur copier, je reviens sur mon présent message et je clic sur <>, le programme ne me propose pas l'option coller !!!
il me propose copier l'image ou copier l'adresse de l'image.
Où se situe le problème d'insertion du retour de terminal et reste en suspend le problème gedit vers terminal dans le 1er OS
merci

Hors ligne

#7 Le 14/10/2018, à 19:49

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

yvon1@yvon1-ThinkPad-SL510:~$ python3 /home/yvon1/Bureau/AAA.py
bonjour
7
37
3+3 = 
6
yvon1@yvon1-ThinkPad-SL510:~$ python3 /home/yvon1/Bureau/BBB.py
0.033179481337956784
yvon1@yvon1-ThinkPad-SL510:~$ 

Il y a du progrés, je viens de copier le retour du terminal du pc qui ne connaît pas de problème entre gedit et terminal.
Donc ici on peut voir le résultat du mini programme AAA.py (simples additions)
et le retour du programme BBB.py qui utilise random.
Je vais tenter de revenir sur l'os (1er PC qui pose problème)
A +

Hors ligne

#8 Le 14/10/2018, à 19:57

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

suis sur le PC qui connaît un problème de transfert entre gedit et le terminal, mais qui ne me permet pas de coller ce que j'ai copier dans le terminal

Hors ligne

#9 Le 14/10/2018, à 20:06

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

yvon1@yvon1-ThinkPad-SL510:~$ python3 /home/yvon1/Bureau/BBB.py
0.9897220139026021
yvon1@yvon1-ThinkPad-SL510:~$ 

ne pas tenir compte de ce présent message, je teste au départ du pc qui fonctionne

Hors ligne

#10 Le 14/10/2018, à 20:13

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

je teste depuis le pc malade

   print("3+3" = ");print(3+3)
                              ^
SyntaxError: EOL while scanning string literal
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/tempfile.py", line 184, in <module>
    from random import Random as _Random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined

Original exception was:
  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                              ^
SyntaxError: EOL while scanning string literal
yvon@yvon-ThinkPad-SL510:~$ 

Hors ligne

#11 Le 14/10/2018, à 20:15

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

As-tu lu mon message #5, qui montre l'erreur dans ton script ?

Hors ligne

#12 Le 14/10/2018, à 20:20

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Voila au départ du pc problème, je lance le programme BBB.py 
print("bonjour")
A=4+3
B=5*6
print(A)
print(A+B)
print("3+3 = ");print(3+3)

je lance dans le terminal de 2 façons.
La 1ère  python3 /home....
La 2ème python  /home  (ça doit être un python 2 ?)

Je joins le retour du terminal en espérant que ça fonctionne cette fois.


yvon@yvon-ThinkPad-SL510:~$ python3 /home/yvon/Bureau/AAA.py
  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                              ^
SyntaxError: EOL while scanning string literal
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/tempfile.py", line 184, in <module>
    from random import Random as _Random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined

Original exception was:
  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                              ^
SyntaxError: EOL while scanning string literal
yvon@yvon-ThinkPad-SL510:~$ python /home/yvon/Bureau/AAA.py
  File "/home/yvon/Bureau/AAA.py", line 6
    print("3+3" = ");print(3+3)
                ^
SyntaxError: invalid syntax
yvon@yvon-ThinkPad-SL510:~$ 

Hors ligne

#13 Le 14/10/2018, à 20:29

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

exact j'ai un guillement de trop, je reteste

Hors ligne

#14 Le 14/10/2018, à 20:38

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Effectivement ce programme tourne, j'avais donc un guillemet de trop.
Mais je reviens au programme
import random
r=random.random()
print(r)
si je le lance tel quel dans le terminal sans asser par gedit, ça fonctionne
si je l'écris dans gedit, voilà ce que me répond le terminal

yvon@yvon-ThinkPad-SL510:~$ python3 /home/yvon/Bureau/AAA.py
bon
7
37
3+3 = 
6
yvon@yvon-ThinkPad-SL510:~$ python3 /home/yvon/Bureau/BBB.py
Traceback (most recent call last):
  File "/home/yvon/Bureau/BBB.py", line 1, in <module>
    import random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/tempfile.py", line 184, in <module>
    from random import Random as _Random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined

Original exception was:
Traceback (most recent call last):
  File "/home/yvon/Bureau/BBB.py", line 1, in <module>
    import random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined
yvon@yvon-ThinkPad-SL510:~$ 

alors que dans l'autre PC (le même mais un second OS) ça fonctionne

Hors ligne

#15 Le 14/10/2018, à 20:44

grigouille

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Donne

cat  /home/yvon/Bureau/BBB.py

Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#16 Le 14/10/2018, à 21:00

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

voila ce que ça donne:

yvon@yvon-ThinkPad-SL510:~$ cat  /home/yvon/Bureau/BBB.py


import random
r=random.random()
print(r)
yvon@yvon-ThinkPad-SL510:~$ 

Hors ligne

#17 Le 14/10/2018, à 21:08

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Pour vérifier qu'il n'y a pas de caractères bizarres dans les 2 premières lignes :

hd /home/yvon/Bureau/BBB.py

Hors ligne

#18 Le 14/10/2018, à 21:10

grigouille

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Aucun problème chez moi :

$ cat BBB.py 


import random
r=random.random()
$ python3 BBB.py 
0.8046967927759279
$ 

Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#19 Le 14/10/2018, à 21:13

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

C'est bon aussi chez moi, mais je voudrais vérifier le contenu exact du fichier de fernand1.

Hors ligne

#20 Le 14/10/2018, à 21:24

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

ce que donne la commande de pingouinux

yvon@yvon-ThinkPad-SL510:~$ hd /home/yvon/Bureau/BBB.py
00000000  0a 0a 69 6d 70 6f 72 74  20 72 61 6e 64 6f 6d 0a  |..import random.|
00000010  72 3d 72 61 6e 64 6f 6d  2e 72 61 6e 64 6f 6d 28  |r=random.random(|
00000020  29 0a 70 72 69 6e 74 28  72 29 0a                 |).print(r).|
0000002b
yvon@yvon-ThinkPad-SL510:~$ 

Hors ligne

#21 Le 14/10/2018, à 21:33

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Je ne vois rien d'anormal, et ne comprends pas… sad

Hors ligne

#22 Le 14/10/2018, à 21:46

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Je cherche tout azimut et qui sait quelqu'un a peut-être déjà connu ce problème et trouvé la solution.
Merci en attendant.

Hors ligne

#23 Le 14/10/2018, à 21:49

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Le message d'erreur que tu montres en #14 ne correspond pas au fichier que tu listes en #16 (random est différent de randrange).

Ajouté :

fernand1 #14 a écrit :

  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined

Tu as un fichier qui s'appelle random.py, qui je pense est en conflit avec celui de même nom de la librairie python3.
Appelle-le autrement.

Dernière modification par pingouinux (Le 14/10/2018, à 22:00)

Hors ligne

#24 Le 14/10/2018, à 22:14

fernand1

Re : (RESOLU) différence entre editeur de texte gedit et terminal

Il est vrai que j'ai ouvert plusieurs programmes en tentant dans toutes les directions,
mais voila je réécris dans l'éditeur de texte ce qui suit,
import random
r=random.random()
print(r)

ensuite je le lance dans le terminal

et voila le retour du terminal:

yvon@yvon-ThinkPad-SL510:~$ python3 /home/yvon/Bureau/test.py
Traceback (most recent call last):
  File "/home/yvon/Bureau/test.py", line 1, in <module>
    import random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 12, in <module>
    import subprocess, tempfile, os.path, re, pwd, grp, os, time
  File "/usr/lib/python3.6/tempfile.py", line 184, in <module>
    from random import Random as _Random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined

Original exception was:
Traceback (most recent call last):
  File "/home/yvon/Bureau/test.py", line 1, in <module>
    import random
  File "/home/yvon/Bureau/random.py", line 3, in <module>
    r=random.randrange
NameError: name 'random' is not defined
yvon@yvon-ThinkPad-SL510:~$ 

c'est le retour du terminal qui affiche r=random.randrange
cette instruction n'est pas dans mon programme

Hors ligne

#25 Le 14/10/2018, à 22:29

pingouinux

Re : (RESOLU) différence entre editeur de texte gedit et terminal

fernand1 #24 a écrit :

c'est le retour du terminal qui affiche r=random.randrange
cette instruction n'est pas dans mon programme

Cette instruction doit être dans ton fichier random.py, et comme je te l'explique en #23, il faut appeler ce fichier autrement.

Dernière modification par pingouinux (Le 14/10/2018, à 22:44)

Hors ligne