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
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
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 ?
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.")
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
Blond, bouclé, toujours le sourire aux lèvres...
Développeur python amateur et fan de jeux-vidéos !