Problème de genre python fonction input

Résolu/Fermé
maths61 - 28 oct. 2011 à 10:37
 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 vendredi 28 octobre 2011 Statut Membre Dernière intervention 20 novembre 2011 2
28 oct. 2011 à 12:38
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
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 vendredi 28 octobre 2011 Statut Membre Dernière intervention 20 novembre 2011 2
28 oct. 2011 à 12:41
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 dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 28/10/2011 à 13:39
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
ok pour les entiers cela fonctionne reste pour les réels mais c'est déjà un progrès
Merci
0
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