En general no es posible realizar operaciones matemáticas con cadenas, incluso si las cadenas parecen números. Las siguientes sentencias son ilegales (suponiendo que mensaje sea de tipo string)
1: mensaje-1 "Hola"/123 mensaje*"Hola" "15"+2
Es curioso que el operador + funcione con cadenas, aunque no haga exactamente lo que usted esperar³a. Para cadenas, el operador + representa la concatenación, lo que significa que se unen los dos operandos uniéndolos extremo con
extremo. Por ejemplo:
1: fruta = "platano"
2: bizcochoBueno = " pan de leche"
3: print fruta +
4: bizcochoBueno
La salida del programa es platano pan de leche. El espacio delante de pan es parte de la cadena, y es necesario para introducir el espacio que separa las cadenas concatenadas.
El operador * tambien funciona con cadenas; lleva a cabo la repeticion. Por ejemplo 'Chiste'*3 es 'ChisteChisteChiste'. Uno de los operandos ha de ser una cadena, el otro ha de ser un entero.
Por un lado, esta interpretacion de + y * cobra sentido por analogía con la suma y la multimplicacion. Igual que 4*3 es equivalente a 4+4+4, esperamos que 'Chiste'*3 sea lo mismo que 'Chiste'+'Chiste'+'Chiste', y así es. Por otro lado, la concatenacion y la repeticion son de alguna manera muy diferentes de la adicion y la multiplicacion de enteros.
¿Puede encontrar una propiedad que
¿tienen la suma y la multiplicacion de enteros y que no tengan la concatenación y la repeticion de cadenas?
Comentarios
Publicar un comentario