Problème de genre python fonction input

Résolu
maths61 -  
 dxxd - 29 oct. 2011 à 16:04
Bonjour,
je commence python et les exemples que je trouve sur des sites pédagogiques ne fonctionnent pas avec la version 3.2
exemple: le programme
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)

est refusé car python considère longueur et largeur comme des strings
et refuse de faire des opérations avec
Merci d'avance pour votre aide !!



4 réponses

dxxd Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   2
 
tu a raison les valeur entrez sont des chaine de caractere
pour corrigé cela tu doit apres avoir dit que la longueur etait a entrez(input) tu doit entrez une valeur qui sera "string" ala ligne suivante tu doit donc ecrire
longueur = int(longueur)
et ton probleme est resolu tu fait cela pour chaque string
1
maths61
 
merci cela résout en parti le problème, reste qu'il doit y avoir une fonction pour convertir en réels
car si je veux rentrer 4.5 cela plante encore mais déjà merci beaucoup c'est sympa..
0
dxxd Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   2
 
j'aime beaucoup ta faco de programmer python les fonction en une seul ligne^^
c'est pas facile pour un debutant
1
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Tu utilises vraisemblablement Python >=3.0
Regarde ici
http://www.wellho.net/resources/ex.php4?item=y300/input_3.py

Il faut effectuer un transtypage.
Sous python 2.6 ce n'est pas nécessaire. Exemple:
#!/usr/bin/python3 
longueur = int(input ("Quelle est la longueur? ")) 
largeur = int(input ("Quelle est la largeur? ")) 
surface = longueur * largeur 
perimetre = 2 * (longueur + largeur) 
print ("SURFACE = ", surface) 
print ("PERIMETRE = ", perimetre)


Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
0
maths61
 
ok pour les entiers cela fonctionne reste pour les réels mais c'est déjà un progrès
Merci
0
dxxd
 
Maintenant le seul probleme que je peut voir pour les reel est que tu utilise peut etre la virgule et nn le point sinen je ne vois pas d'ou vient le pb
0