Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calcul IMC Python

12 novembre 2017 à 17:03:01

Bonjour, tout jeune amateur de la programmation et du python, j'aimerais calculer l'imc à l'aide du python. Voici mon code: 

masse = int(input("Entrez votre poids en kg:"))
taille = float(input("Entrez votre taille en m"))
def imc(masse,taille):
    return masse/(taille**2)
imc = float
if imc>25.0:
    print("Vous êtes en surpoids.")
elif imc<18.5:
    print("Voues êtes trop maigre.")
else:
    print("Vous avez une corpulence normale.")



Seulement quand j'essaie de lancer mon programme, je peux entrer la masse et le poids sauf qu'il s'affiche: TypeError: unoredable types: type()> float() et la ligne if imc>25.0: se met en rouge (je suis sur edupython).

Que faire ? Je ne comprends pas.

Merci de votre aide

-
Edité par JulesLeclercq1 12 novembre 2017 à 22:19:33

  • Partager sur Facebook
  • Partager sur Twitter
12 novembre 2017 à 20:38:02

C'est vraiment beaucoup plus lisible avec les balises code (bouton </>)

masse = int(input("Entrez votre poids en kg:"))
taille = float(input("Entrez votre taille en m"))
def imc(masse,taille):
    return masse/(taille**2)
imc = float
if imc>25.0:
    print("Vous êtes en surpoids.")
elif imc<18.5:
    print("Voues êtes trop maigre.")
else:
    print("Vous avez une corpulence normale.")

Je vois deux problèmes, le premier c'est la présentation du code : on déclare pas les fonctions au milieu de tout, on les déclare toutes au début, et on écrit le code principal après, sinon c'est le bordel.

Sinon ton problème est ligne 5.

-
Edité par LoupSolitaire 12 novembre 2017 à 20:43:51

  • Partager sur Facebook
  • Partager sur Twitter

Blond, bouclé, toujours le sourire aux lèvres...

12 novembre 2017 à 22:18:34

Re bonsoir,

Tout d'abord merci pour votre réponse. Mais je ne trouve vraiment pas l'erreur car je définis bien la variable imc comme un float donc normalement ça devrait marcher... Après tout je ne suis qu'un débutant donc je ne vais pas contredire le langage.  En revanche je ne trouve vraiment pas. Pourriez-vous encore m'aider ?

Merci d'avance.

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
12 novembre 2017 à 23:18:23

imc est une variable et une fonction, c'est pas normal...

-
Edité par Anonyme 12 novembre 2017 à 23:21:12

  • Partager sur Facebook
  • Partager sur Twitter
13 novembre 2017 à 0:29:30

Essayé d'écrire float(imcorp) > 25
  • Partager sur Facebook
  • Partager sur Twitter

Développeur python amateur et fan de jeux-vidéos !

13 novembre 2017 à 17:46:30

Hello,

Tu as un petit souci de compréhension au niveau de l'utilisation des fonction je pense.

Premièrement ta fonction est définie "def imc(taille, masse)" mais tu ne t'en sers jamais.

Ensuite, en python tu n'as pas besoin de typer le retour de tes fonctions donc la ligne qui suis la définition de la fonction (imc=float) plante parce que l'interpréteur python essaye de déclarer une variable "imc" et de lui affecter la valeur "float".

Je te conseille de renommer ta fonction "imc" en "calcul_imc" pour plus de clarté. Ensuite remplace ta ligne 5 par "imc=calcul_imc(taille, masse)"

def calcul_imc(masse, taille):
    return masse/(taille**2)

masse_utilisateur = int(input("Entrez votre poids en kg:"))
taille_utilisateur = float(input("Entrez votre taille en m"))
imc = calcul_imc(masse_utilisateur, taille_utilisateur)

if imc > 25.0:
    print("Vous êtes en surpoids.")
elif imc < 18.5:
    print("Voues êtes trop maigre.")
else:
    print("Vous avez une corpulence normale.")



-
Edité par Tuxdis 13 novembre 2017 à 17:48:01

  • Partager sur Facebook
  • Partager sur Twitter
13 novembre 2017 à 18:54:47

Merci beaucoup Tuxdis ! Ca marche impec ! Grâce à toi j'ai bien compris mon erreur ! 

  • Partager sur Facebook
  • Partager sur Twitter
21 septembre 2018 à 15:46:06

poouvez vous m'aider a trouver l'erreur?? quand je l'execute on me dit syntaxeerror: return outside function

def calcul_imc(monPoids,taille):
    monPoids = float(input("mettez lepoids"))
    taille = float(input("mettez la taille"))
    imc = calcul_imc(monPoids, taille)
    print("ton imc", imc)
calcul_imc(monPoids, taille)
return monPoids/taille*taille

  • Partager sur Facebook
  • Partager sur Twitter
Laurent@
21 septembre 2018 à 16:30:58

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet.

  • Partager sur Facebook
  • Partager sur Twitter