Page 1 sur 2 • 1, 2
- FurbyNiveau 9
Bonjour,
je profite de l'été pour me mettre à python, même si ça me gonfle dans le fond. Je suis une quiche, débutant total. Je suis le programme de formation sur IOI, et en même temps je teste sur la version 3.6 que j'ai installée sur mon ordinateur.
Lorsque je me trompe sur la simulation IOI, pas de problème, je corrige. Mais sur python directement, lorsque je fais une petite erreur, genre oubli d'un double point ou d'un guillemet ou d'une parenthèse dans une instruction, je ne peux pas corriger en rajoutant sur la ligne erronée, je suis obligé de retaper toutes les instructions du bloc en question. Je trouve ça pénible, est-ce que c'est normal, ou est-ce que quelque chose m'échappe ?
Merci pour vos lumières.
je profite de l'été pour me mettre à python, même si ça me gonfle dans le fond. Je suis une quiche, débutant total. Je suis le programme de formation sur IOI, et en même temps je teste sur la version 3.6 que j'ai installée sur mon ordinateur.
Lorsque je me trompe sur la simulation IOI, pas de problème, je corrige. Mais sur python directement, lorsque je fais une petite erreur, genre oubli d'un double point ou d'un guillemet ou d'une parenthèse dans une instruction, je ne peux pas corriger en rajoutant sur la ligne erronée, je suis obligé de retaper toutes les instructions du bloc en question. Je trouve ça pénible, est-ce que c'est normal, ou est-ce que quelque chose m'échappe ?
Merci pour vos lumières.
- ben2510Expert spécialisé
Salut !
Quelque chose t'échappe.
Voici deux possibilités pour éditer (=modifier) le code erroné :
* flèche haute ; tu reviens sur le code que tu as tapé, puis tu tapes entrée, alors le code que tu avais tapé est dupliqué et modifiable
* le menu fichier/nouveau fichier (file/new file) ouvre une fenêtre dans laquelle tu peux taper du code, le modifier, le sauvegarder, et bien sûr l'exécuter menu run/run module
Tu peux aussi utiliser des éditeurs intégrés comme EduPython, ou spyder
Quelque chose t'échappe.
Voici deux possibilités pour éditer (=modifier) le code erroné :
* flèche haute ; tu reviens sur le code que tu as tapé, puis tu tapes entrée, alors le code que tu avais tapé est dupliqué et modifiable
* le menu fichier/nouveau fichier (file/new file) ouvre une fenêtre dans laquelle tu peux taper du code, le modifier, le sauvegarder, et bien sûr l'exécuter menu run/run module
Tu peux aussi utiliser des éditeurs intégrés comme EduPython, ou spyder
_________________
On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison. Henri Poincaré La notion d'équation différentielle est le pivot de la conception scientifique du monde. Vladimir Arnold
- FurbyNiveau 9
OK, merci Ben, ça marche. Mais du coup ça m'amène une autre question: lorsque je corrige selon ta 1ère méthode (flèche haute...), je ne peux pas effacer le message d'erreur précédent.
Je m'explique : je dois résoudre un problème qui me pose des difficultés, je fais plusieurs tentatives erronées, donc plusieurs messages d'erreurs successifs, puis je finis par y arriver et je veux sauvegarder lorsque j'ai trouvé la solution ; et là, le fichier que je sauvegarde est bon mais plein de messages d'erreurs pour toutes les tentatives infructueuses, si je veux une version nette, je dois quand même tout retaper ? La 2ème méthode (nouveau fichier) m'oblige aussi à tout retaper ce qui est bon.
Quant à "utiliser des éditeurs intégrés..." je ne sais pas encore ce que ça veut dire, mais je suppose que ça viendra.
Je m'explique : je dois résoudre un problème qui me pose des difficultés, je fais plusieurs tentatives erronées, donc plusieurs messages d'erreurs successifs, puis je finis par y arriver et je veux sauvegarder lorsque j'ai trouvé la solution ; et là, le fichier que je sauvegarde est bon mais plein de messages d'erreurs pour toutes les tentatives infructueuses, si je veux une version nette, je dois quand même tout retaper ? La 2ème méthode (nouveau fichier) m'oblige aussi à tout retaper ce qui est bon.
Quant à "utiliser des éditeurs intégrés..." je ne sais pas encore ce que ça veut dire, mais je suppose que ça viendra.
- FatrasNiveau 8
Quel éditeur utilises-tu ?
J'ai l'impression que tu utilises uniquement l'interpréteur qui rend souvent bien des services mais qui n'est pas à utiliser pour écrire des programmes au quotidien.
Si tu as installé Python avec l'éditeur inclus dans IDLE, va dans File, puis choisit new file.
J'ai l'impression que tu utilises uniquement l'interpréteur qui rend souvent bien des services mais qui n'est pas à utiliser pour écrire des programmes au quotidien.
Si tu as installé Python avec l'éditeur inclus dans IDLE, va dans File, puis choisit new file.
- ben2510Expert spécialisé
Lorsque tu sauvegardes à partir de la fenêtre où les messages d'erreur apparaissent (la console),
ce que tu sauvegardes est la session c'est à dire la suite des questions/réponses, y compris les messages d'erreur.
Le fait de travailler dans l'autre fenêtre (l'éditeur) te permet de ne sauvegarder que le code.
ce que tu sauvegardes est la session c'est à dire la suite des questions/réponses, y compris les messages d'erreur.
Le fait de travailler dans l'autre fenêtre (l'éditeur) te permet de ne sauvegarder que le code.
_________________
On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison. Henri Poincaré La notion d'équation différentielle est le pivot de la conception scientifique du monde. Vladimir Arnold
- FurbyNiveau 9
@ Fatras : je ne peux pas répondre pour le moment, je ne comprends pas tout. J'ai téléchargé python à partir du site officiel, voici ce qui apparait en tête de fenêtre : Python3.6.1 Shell et le raccourci est intitulé IDLE(Python 3.6 32 bits). Si je fais new file, une nouvelle fenêtre s'ouvre, je tape des instructions mais quand je fais ENTER il ne se passe rien.
@ ben2510 : je n'ai pas d'autre fenêtre que la console, à moins d'ouvrir un nouveau fichier avec file/new file, mais comme dit plus haut, les instructions ne sont pas actives.
Bref, ce que vous me dites me donne l'impression que je ne suis pas là où je devrais être. Effectivement j'avais d'abord téléchargé la version AmiensPython et là j'avais 2 fenêtres, mais je ne comprenais pas bien à quoi ça correspondait et ça m'a énervé car j'avais un message d'erreur dès que j'entrais un caractère accentué, donc je l'ai désinstallé pour ensuite aller télécharger sur le site de python.org
Je creuse tout ça et j'arrête de vous embêter pour le moment. Comme je l'ai déjà dit, je suis vraiment une quiche. Pourtant sur France IOI j'y arrive bien !
En tout cas merci !
@ ben2510 : je n'ai pas d'autre fenêtre que la console, à moins d'ouvrir un nouveau fichier avec file/new file, mais comme dit plus haut, les instructions ne sont pas actives.
Bref, ce que vous me dites me donne l'impression que je ne suis pas là où je devrais être. Effectivement j'avais d'abord téléchargé la version AmiensPython et là j'avais 2 fenêtres, mais je ne comprenais pas bien à quoi ça correspondait et ça m'a énervé car j'avais un message d'erreur dès que j'entrais un caractère accentué, donc je l'ai désinstallé pour ensuite aller télécharger sur le site de python.org
Je creuse tout ça et j'arrête de vous embêter pour le moment. Comme je l'ai déjà dit, je suis vraiment une quiche. Pourtant sur France IOI j'y arrive bien !
En tout cas merci !
- FatrasNiveau 8
Ca y est tu y es presque !
Dans la fenetre que tu as ouverte tu tapes ton programmes.
Ensuite tu l'enregistre sous un nom du type ex4.py (n'oublie pas le point py pour garder la coloration syntaxique).
Pour faire tourner le programme tu vas ensuite sur run... et c' est parti !
Dans la fenetre que tu as ouverte tu tapes ton programmes.
Ensuite tu l'enregistre sous un nom du type ex4.py (n'oublie pas le point py pour garder la coloration syntaxique).
Pour faire tourner le programme tu vas ensuite sur run... et c' est parti !
- FurbyNiveau 9
Merci encore Fatras, mais je n'y comprends toujours rien. Voici la capture d'écran d'un petit programme tout bête écrit sur la console qui s'ouvre quand je lance python:
(ce programme "fonctionne", même si je ne sais pas pourquoi il faut rentrer l'âge tout de suite après la 1ère instruction.)
Voici maintenant une copie d'écran de la même chose écrite dans la nouvelle fenêtre qui s'ouvre quand je fais file/new file :
Là, j'enregistre avec une extension .py comme tu dis, je fais "run", et j'ai un message d'erreur:
age=int(input())
ValueError: invalid literal for int() with base 10: ''
>>>
(ce programme "fonctionne", même si je ne sais pas pourquoi il faut rentrer l'âge tout de suite après la 1ère instruction.)
Voici maintenant une copie d'écran de la même chose écrite dans la nouvelle fenêtre qui s'ouvre quand je fais file/new file :
Là, j'enregistre avec une extension .py comme tu dis, je fais "run", et j'ai un message d'erreur:
age=int(input())
ValueError: invalid literal for int() with base 10: ''
>>>
- FatrasNiveau 8
En fait je pense que tu fais run, puis que tu tapes sur la touche entrée.
Comme tu n'as rien entré dans la variable age, le programme donne une erreur.
Regarde ce qu'il se passe avec ce programme
age=int(input("Quel age ?"))
if age>18:
print("majeur")
else:
print("mineur")
et je pense que tu comprendras ton soucis de manipulation.
Pour ta première question, lorsque tu tapes dans l’interpréteur, Python exécute ligne par ligne..
Comme tu n'as rien entré dans la variable age, le programme donne une erreur.
Regarde ce qu'il se passe avec ce programme
age=int(input("Quel age ?"))
if age>18:
print("majeur")
else:
print("mineur")
et je pense que tu comprendras ton soucis de manipulation.
Pour ta première question, lorsque tu tapes dans l’interpréteur, Python exécute ligne par ligne..
- FurbyNiveau 9
D'accord !!!
En effet je viens de comprendre, je crois.
Bon, reste à comprendre ce que c'est qu'un interpréteur. Je me penche sur la question et je reviens solliciter si besoin. Merci !
En effet je viens de comprendre, je crois.
Bon, reste à comprendre ce que c'est qu'un interpréteur. Je me penche sur la question et je reviens solliciter si besoin. Merci !
- ycombeMonarque
Il faut que tu fasses la différence entre python le langage, python le programme, et IDLE le programme permettant de programmer en python (le langage) en utilisant python (le programme).Furby a écrit:@ Fatras : je ne peux pas répondre pour le moment, je ne comprends pas tout. J'ai téléchargé python à partir du site officiel, voici ce qui apparait en tête de fenêtre : Python3.6.1 Shell et le raccourci est intitulé IDLE(Python 3.6 32 bits). Si je fais new file, une nouvelle fenêtre s'ouvre, je tape des instructions mais quand je fais ENTER il ne se passe rien.
Et aussi que tu saches la différence entre interprétation et compilation (je te dispense de la compilation JIT (Just-In-Time)).
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- Marc au PoloNiveau 2
Et ne pas confondre le programme interprété IDLE de Python, et (Eric) IDLE un des interprètes des Python...
Un peu ancien, et a adapter pour python 3, mais la série suivante est du beau boulot je pense:
https://www.youtube.com/watch?v=swGl-iPmYic&list=PL2424DE4A473AE40E&index=1
Un peu ancien, et a adapter pour python 3, mais la série suivante est du beau boulot je pense:
https://www.youtube.com/watch?v=swGl-iPmYic&list=PL2424DE4A473AE40E&index=1
- e1654dNiveau 7
Je réagis à l'exemple de programme (majeur / mineur).
La façon de traiter cet exemple (saisie d'une entrée au clavier, traitement puis affichage du résultat) est dans l'esprit des anciens programmes de lycée (c'est la façon de programmer des années 1960).
Le nouveau programme introduit la notion de fonction informatique. On définirait plutôt une fonction comme suit :
Ce qui permet après d'écrire un programme plus complexe qui fera si besoin est des appels à la cette nouvelle fonction est_majeur.
Il y avait un collègue de post-bac qui se plaignait de cette ancienne façon de rédiger les programmes : https://www.yannsalmon.fr/naffichez-plus-les-resultats-dalgorithmes/
À l'époque, les programmes de lycée imposaient de faire à l'ancienne. Mais plus maintenant !
La façon de traiter cet exemple (saisie d'une entrée au clavier, traitement puis affichage du résultat) est dans l'esprit des anciens programmes de lycée (c'est la façon de programmer des années 1960).
Le nouveau programme introduit la notion de fonction informatique. On définirait plutôt une fonction comme suit :
- Code:
def est_majeur(age) :
return age >= 18
Ce qui permet après d'écrire un programme plus complexe qui fera si besoin est des appels à la cette nouvelle fonction est_majeur.
Il y avait un collègue de post-bac qui se plaignait de cette ancienne façon de rédiger les programmes : https://www.yannsalmon.fr/naffichez-plus-les-resultats-dalgorithmes/
À l'époque, les programmes de lycée imposaient de faire à l'ancienne. Mais plus maintenant !
- ycombeMonarque
À moins que j'ai loupé un truc, IDLE n'est pas un interprète mais un environnement de développement intégré contenant un éditeur et une interface (improprement baptisée shell) donnant accès à la ligne de commande qui utilise l'interprète standard.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- FurbyNiveau 9
Merci à tous pour vos remarques. Ca me fait mesurer que je n'en suis même pas aux bases élémentaires. Je vais me forcer un peu pour ne pas apprendre en même temps que les élèves à la prochaine rentrée (jusque là, algobox m'allait bien).
@e1654d : je ne sais pas encore programmer une fonction dans ma formation sur IOI. Mais je peux te dire que dans les années 60, on ne programmait pas au lycée ! Bac 1980, jamais vu d'ordinateur portable avant 1985, à l'ancêtre des ESPE de l'époque ! Et ce n'était même pas pour programmer, c'était pour écrire et imprimer des cours qu'on tirait ensuite sur duplicateur à alcool. Le bon vieux temps...
Bon, j'avance dans ma formation et je demande de l'aide quand nécessaire.
@e1654d : je ne sais pas encore programmer une fonction dans ma formation sur IOI. Mais je peux te dire que dans les années 60, on ne programmait pas au lycée ! Bac 1980, jamais vu d'ordinateur portable avant 1985, à l'ancêtre des ESPE de l'époque ! Et ce n'était même pas pour programmer, c'était pour écrire et imprimer des cours qu'on tirait ensuite sur duplicateur à alcool. Le bon vieux temps...
Bon, j'avance dans ma formation et je demande de l'aide quand nécessaire.
- FurbyNiveau 9
Je crois que t'as loupé un truc : c'est un jeu de mots, que j'ai mis un petit moment à comprendre aussi...ycombe a écrit:À moins que j'ai loupé un truc, IDLE n'est pas un interprète mais un environnement de développement intégré contenant un éditeur et une interface (improprement baptisée shell) donnant accès à la ligne de commande qui utilise l'interprète standard.
- Marc au PoloNiveau 2
L'environnement de développement (IDE) par défaut du langage de programmation Python est nommé IDLE. Ce sigle signifie officiellement « Integrated DeveLopment Environment », mais le nom fut choisi en référence à Eric Idle, de même que le nom du langage de programmation Python était un clin d’œil à la troupe des Monty Python41.
Eric Idle, né le 29 mars 1943 à South Shields en Angleterre, est un acteur, humoriste, scénariste, réalisateur britannique aussi bien que guitariste et compositeur. Il est surtout connu comme étant l'un des membres de la troupe comique britannique des Monty Python.
https://fr.wikipedia.org/wiki/Eric_Idle
Eric Idle, né le 29 mars 1943 à South Shields en Angleterre, est un acteur, humoriste, scénariste, réalisateur britannique aussi bien que guitariste et compositeur. Il est surtout connu comme étant l'un des membres de la troupe comique britannique des Monty Python.
https://fr.wikipedia.org/wiki/Eric_Idle
- ycombeMonarque
e1654d a écrit:Je réagis à l'exemple de programme (majeur / mineur).
La façon de traiter cet exemple (saisie d'une entrée au clavier, traitement puis affichage du résultat) est dans l'esprit des anciens programmes de lycée (c'est la façon de programmer des années 1960).
Le nouveau programme introduit la notion de fonction informatique. On définirait plutôt une fonction comme suit :
- Code:
def est_majeur(age) :
return age >= 18
Ce qui permet après d'écrire un programme plus complexe qui fera si besoin est des appels à la cette nouvelle fonction est_majeur.
Il y avait un collègue de post-bac qui se plaignait de cette ancienne façon de rédiger les programmes : https://www.yannsalmon.fr/naffichez-plus-les-resultats-dalgorithmes/
À l'époque, les programmes de lycée imposaient de faire à l'ancienne. Mais plus maintenant !
Programmation vue comme traitement des données passées en entrée standard, résultats envoyés en sortie standard. The Unix way. Often imitated, never equalled.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- ycombeMonarque
Marc au Polo a écrit:L'environnement de développement (IDE) par défaut du langage de programmation Python est nommé IDLE. Ce sigle signifie officiellement « Integrated DeveLopment Environment », mais le nom fut choisi en référence à Eric Idle, de même que le nom du langage de programmation Python était un clin d’œil à la troupe des Monty Python41.
Eric Idle, né le 29 mars 1943 à South Shields en Angleterre, est un acteur, humoriste, scénariste, réalisateur britannique aussi bien que guitariste et compositeur. Il est surtout connu comme étant l'un des membres de la troupe comique britannique des Monty Python.
https://fr.wikipedia.org/wiki/Eric_Idle
Bon, j'avais bien loupé un truc.
(J'ai lu Integrated Development and Learning Environment pour IDLE.)
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- FurbyNiveau 9
Bonsoir,
je déterre le sujet pour une question.
J'écris des algorithmes, qui fonctionnent lorsque je les lance tout de suite, mais quand je les enregistre (que ce soit avec le menu "enregistrer" ou "sauvegarder sous"), lorsque je les ouvre de nouveau depuis le dossier où ils sont enregistrés, ils ne fonctionnent plus. J'ai le message barbare "UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 55: ordinal not in range(128)".
Où est-ce que je fais mal ?
Merci.
je déterre le sujet pour une question.
J'écris des algorithmes, qui fonctionnent lorsque je les lance tout de suite, mais quand je les enregistre (que ce soit avec le menu "enregistrer" ou "sauvegarder sous"), lorsque je les ouvre de nouveau depuis le dossier où ils sont enregistrés, ils ne fonctionnent plus. J'ai le message barbare "UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 55: ordinal not in range(128)".
Où est-ce que je fais mal ?
Merci.
- ycombeMonarque
Problème d'encodage. Tu écris en UTF8 et tu te relis en ASCII, ou un truc comme ça.Furby a écrit:Bonsoir,
je déterre le sujet pour une question.
J'écris des algorithmes, qui fonctionnent lorsque je les lance tout de suite, mais quand je les enregistre (que ce soit avec le menu "enregistrer" ou "sauvegarder sous"), lorsque je les ouvre de nouveau depuis le dossier où ils sont enregistrés, ils ne fonctionnent plus. J'ai le message barbare "UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 55: ordinal not in range(128)".
Où est-ce que je fais mal ?
Merci.
_________________
Assurbanipal: "Passant, mange, bois, divertis-toi ; tout le reste n’est rien".
Franck Ramus : "Les sciences de l'éducation à la française se font fort de produire un discours savant sur l'éducation, mais ce serait visiblement trop leur demander que de mettre leur discours à l'épreuve des faits".
- FurbyNiveau 9
Bon, merci. Mais vu que je n'y comprends rien, y a t-il un moyen simple de surmonter ce problème ?
- FurbyNiveau 9
Encore une fois, merci, mais tout ça est pire que du chinois pour moi.
Si je comprends bien (je pense que non), il faudrait donc que je re-configure mon ordinateur ?
C'est trop me demander.
Si je comprends bien (je pense que non), il faudrait donc que je re-configure mon ordinateur ?
C'est trop me demander.
- e1654dNiveau 7
En Python 3, l'encodage par défaut est UTF8. Par conséquent, il suffit d'enregistrer ses scripts en UTF8 et on n'a rien à configurer au niveau Python proprement dit (pour enregistrer en UTF8, normalement il doit y avoir un menu déroulant ou une option du même genre dans la boit de dialogue Enregistrer sous ; dans d'autres éditeurs, ce réglage se trouve sous Propriétés).
De façon plus immédiate : en supprimant toute lettre accentuée et tout caractère "spécial", on élimine le problème parce que ce problème d'encodage ne se pose normalement pas pour les fichiers qui sont entièrement composés de lettres et caractères usuels en anglais (en fait ceux du codage ASCII).
De façon plus immédiate : en supprimant toute lettre accentuée et tout caractère "spécial", on élimine le problème parce que ce problème d'encodage ne se pose normalement pas pour les fichiers qui sont entièrement composés de lettres et caractères usuels en anglais (en fait ceux du codage ASCII).
Page 1 sur 2 • 1, 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum