Première programation python

Fermé
taïpan - 16 janv. 2009 à 13:11
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 18 janv. 2009 à 16:21
Bonjour,
j'ai décidé d'apprendre à programmer en python, pas à pas, avec des cours trouvé sur le net.
1er exercice, on me donne l'exemple d'un programme de calcul de superficie et de périmètre fonctionnel, et on me demande d'en créer un qui calcule la masse idéal d'une personne.

mon programme fonctionne en ligne par ligne, mais si je l'enregistre en nomduprogramme.py , il ne fonctionne pas.
quelqu'un pourrait me dire ou je me trompe s'il vous plait??

exemple:
longueur = input ("Quelle est la longueur? ")
largeur = input ("Quelle est la largeur? ")

surface = longueur * largeur
perimetre = 2 * (longueur + largeur)

print "SURFACE = ", surface
print "PERIMETRE = ", perimetre

voilà, celui là fonctionne, maintenant, celui que j'ai écrit_________________________________________________

taille = input ("combien mesures-tu ? ")

femelle, male = (taille-100)-(taille-150)/2, (taille-100)-(taille-150)/4

print "ta masse idéale en kg si tu est une femme est de ", femelle
print "ta masse idéale en kg si tu es un homme est de ", male

pourquoi diable cela ne fonctionne-t'il que ligne par ligne et pas en un programme compact?

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
16 janv. 2009 à 14:25
Salut,
Je ne comprends pas ce que tu veux dire par programme compact. En tout cas la deuxième version que tu as donnée est tout à fait correct. Fais plutôt un copier coller exact du programme qui ne marche pas. Et mets aussi la façon dont tu lances le fichier. python prog.py ou ./prog.py ?
Cdlt
0
ça, c'est ce qui ne fonctionne pas

taille = input ("combien mesures-tu ? ")

femelle, male = (taille-100)-(taille-150)/2, (taille-100)-(taille-150)/4

print "ta masse idéale en kg si tu est une femme est de ", femelle
print "ta masse idéale en kg si tu es un homme est de ", male


je tape ça, (en respectant les espaces les lignes sautés, tout ce qu'il faut) sur l'éditeur de texte de ubuntu intrepid ibex, je l'enregistre sous un nom, par exemple masseideal.py directement à la racine de mon repertoire personnel.

je lance konsole ou terminal et dessus je tape:
python masseideal.py

c'est ce que j'ai appelé par manque de vocabulaire adapté (pardonnez moi) "programme compact" parceque tout le programme est donné d'un coup

et ça ne marche pas

en revanche, si je tape:
python (entrée)
puis le programme ligne par ligne, ça fonctionne
mais c'est pas très impressionnant
alors, je ne comprends pas ou je commet une erreur.

c'est très frustrant en fait, merci de m'avoir répondu en tout cas, mais si vous voyiez où je me trompe, ce serait bien.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
17 janv. 2009 à 11:05
Salut,
Rajoute en première ligne de ton fichier :
#-*-coding:utf8-*-
.
0
merci, c'est génial, ça fonctionne parfaitement maintenant, mais je ne comprends pas ce que j'ai rajouté, ce n'était pas dans les exemples ni dans le cours.

que signifie cet ordre?
0
taïpan > taïpan
18 janv. 2009 à 16:17
et re paf, je n'ai rien touché, il fonctionnait très bien, il suffit que je veuille le montrer à ma femme pour qu'il ne fonctionne plus
maintenant ça marque

>>> masseideal.py
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'masseideal' is not defined

je ne le fait pas exprès, mais j'ai du mal à cerner la logique de la machine.

une idée de ce qui à pu ce passer?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842 > taïpan
18 janv. 2009 à 16:21
Le code que je t'ai donné sert tout simplement à spécifier un encodage.
Apparemment, tu as lancé ton programme à partir de l'interpréteur python. Sors de l'interpréteur pour revenir à un shell, et retape ta commande.
0