[Math] Aide python

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Math] Aide python

Message par Furby le Lun 17 Juil 2017 - 0:36

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.
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par ben2510 le Lun 17 Juil 2017 - 7:39

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

_________________
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
avatar
ben2510
Fidèle du forum


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Furby le Lun 17 Juil 2017 - 15:37

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.
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Fatras le Lun 17 Juil 2017 - 17:31

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.

Fatras
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par ben2510 le Lun 17 Juil 2017 - 18:38

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.

_________________
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
avatar
ben2510
Fidèle du forum


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Furby le Lun 17 Juil 2017 - 19:34

@ 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. scratch

@ 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 !Very Happy
En tout cas merci !
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Fatras le Lun 17 Juil 2017 - 22:45

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 !

Fatras
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Furby le Mar 18 Juil 2017 - 15:57

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: ''
>>>
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Fatras le Mar 18 Juil 2017 - 16:54

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..


Fatras
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Furby le Mar 18 Juil 2017 - 17:59

D'accord !!! cheers
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 !
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par ycombe le Mar 18 Juil 2017 - 18:19

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. scratch
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).

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".
avatar
ycombe
Modérateur


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Marc au Polo le Mar 18 Juil 2017 - 18:35

Et ne pas confondre le programme interprété IDLE de Python, et (Eric) IDLE un des interprètes des Python...  Wink

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

Marc au Polo
Niveau 2


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par e1654d le Mar 18 Juil 2017 - 20:51

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 !

e1654d
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par ycombe le Mar 18 Juil 2017 - 21:08

À 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".
avatar
ycombe
Modérateur


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Furby le Mar 18 Juil 2017 - 21:11

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.
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Furby le Mar 18 Juil 2017 - 21:12

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.


Je crois que t'as loupé un truc : c'est un jeu de mots, que j'ai mis un petit moment à comprendre aussi...
avatar
Furby
Niveau 5


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par Marc au Polo le Mar 18 Juil 2017 - 21:14

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

Very Happy

Marc au Polo
Niveau 2


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par ycombe le Mar 18 Juil 2017 - 21:17

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".
avatar
ycombe
Modérateur


Revenir en haut Aller en bas

Re: [Math] Aide python

Message par ycombe le Mar 18 Juil 2017 - 21:22

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

Very Happy

Razz 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".
avatar
ycombe
Modérateur


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum