Python 'ajouter' la fonction question: pourquoi ne pas en faire ce travail?
Je viens de commencer l'étude de Python, et je suis un débutant absolu.
Je commence à apprendre sur les fonctions, et j'ai écrit ce script simple:
def add(a,b):
return a + b
print "The first number you want to add?"
a = raw_input("First no: ")
print "What's the second number you want to add?"
b = raw_input("Second no: ")
result = add(a, b)
print "The result is: %r." % result
Le script s'exécute correctement, mais le résultat ne sera pas une somme. I. e: si j'entre 5 pour 'a' et 6 'b', le résultat ne sera pas '11', mais 56. Comme dans:
The first number you want to add?
First no: 5
What's the second number you want to add?
Second no: 6
The result is: '56'.
Toute aide serait appréciée.
Merci beaucoup à tous. Donc, si je comprends bien, a et b ont été retournés comme des chaînes de caractères, plutôt que de nombres entiers, par conséquent, ont été concaténées plutôt que sur l'ajout de. Merci!
Sur une note côté, le
Sur une note côté, le
add
fonction a déjà été créé! from operator import add
OriginalL'auteur user2331291 | 2013-04-29
Vous devez vous connecter pour publier un commentaire.
raw_input
renvoie la chaîne de caractères, vous devez le convertir en intDe sortie:
Ok, j'ai édité ma réponse.
OriginalL'auteur Kiro
Vous avez besoin de convertir les chaînes de caractères à ints à ajouter, sinon
+
va, il suffit de faire la concaténation de chaîne depuisraw_input
retourne raw d'entrée (une chaîne):OriginalL'auteur jamylak
Vous avez besoin de jeter
a
etb
entier.OriginalL'auteur Jordan Jambazov
C'est parce que
raw_input()
retourne une chaîne de caractères et+
opérateur a été surchargé pour les cordes pour effectuer la concaténation de chaîne. Essayez de.La résultante de sortie est comme suit.
La conversion de la chaîne d'entrées à
int
, utilise le+
opérateur pour ajouter les résultats à la place de la concaténation..
OriginalL'auteur Sukrit Kalra