#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
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…
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é :
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
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