2.6. Operadores y expresiones
Los operadores son símbolos especiales que representan cálculos simples, como la suma y la multiplicación. Los valores que usa el operador se llaman operandos.
Las siguientes expresiones son legales en Python y su significado es mas o menos claro:
1: 20+32 hora-1 hora*60+minuto minuto/60 5**2 (5+9)*(15-7)
Los símbolos +, -, /, y el uso de los parentesis para el agrupamiento, se usan todos de la misma forma que en matematicas. El asterisco (*) es el signo de multiplicación y ** el s³mbolo para exponenciacion.
Cuando aparece el nombre de una variable en el lugar de un operando, se sustituye con su valor antes de realizar la operacion.
La suma, resta, multiplicacion y exponenciacion hacen lo esperado, pero la división le puede sorprender. La operacion que sigue tiene un resultado inesperado:
1: >>> minuto = 59
2: >>> minuto/60
3: 0
El valor de la variable minuto es 59, y 59 dividido entre 60 es 0.98333 y no 0. El motivo de la discrepancia reside en que Python esta llevando a cabo una división de enteros.
Cuando ambos operandos son enteros, el resultado ha de ser tambien un entero; por convencion, la division de enterios simpre se redondea a la baja, incluso en casos como estos en los que el siguiente entero esta muy proximo.
Una alternativa posible en este caso es el calculo de un porcentaje y no el de una fracción:
1: >>> minuto*100/60
2: 98
De nuevo se redondea el resultado a la baja, pero al menos ahora la respuesta es aproximadamente correcta. Otra alternativa es la division de coma flotante, que veremos en el Capítulo 3.
Comentarios
Publicar un comentario