jueves, 31 de mayo de 2018

Receta Python 3 No. 3-10: Cómputo de Operaciones de Álgebra Lineal

1. Problema

Realizar operaciones con matrices, y cálculo matricial (o álgebra lineal).

2. Solución

La librería NumPy provee elementos de programa para trabajar con matrices; entre ellos se encuentra el objeto matrix. El cálculo matricial o álgebra lineal ayuda resolver problemas del mundo real utilizando la matriz como estructura contenededora de los datos a manipular (Beazly, Jones, 2013).

3. Código Python 3


Prueba de ejecución:

[[-2  3 -5]
 [ 2  3  5]
 [ 7 11 13]]

[[-2  2  7]
 [ 3  3 11]
 [-5  5 13]]

[[-0.2962963  -1.74074074  0.55555556]
 [ 0.16666667  0.16666667  0.        ]
 [ 0.01851852  0.7962963  -0.22222222]]

[[2]
 [3]
 [5]]
[[-20]
 [ 38]
 [112]]

53.999999999999986

[15.45540789+0.j         -0.72770395+1.72173448j -0.72770395-1.72173448j]

[[-3.03703704]
 [ 0.83333333]
 [ 1.31481481]]

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

miércoles, 30 de mayo de 2018

Receta Python 3 No. 3-9: Realizar Operaciones con Arreglos Numéricos Grandes

1. Problema

Realizar cálculos sobre arreglos numéricos grandes.

2. Solución

Por medio de la librería NumPy se realizan cálculos entre escalares y arreglos, o arreglos arreglos; además, es posible hacer álgebra lineal. Esta librería cuenta con optimizaciones verdadaremente poderosas para cálculos matemáticos complejos (Beazly, Jones, 2013).

3. Código Python

Archivo Python calculo-arreglos-numericos-grandes.py [enlace alternativo]:

Prueba de ejecución:


[ 4  6 10 14 22]
[ 7  8 10 12 16]
[15 20 24 20 40]
[ 26  51  95  91 319]
[ 15  28  72 140 348]

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

martes, 29 de mayo de 2018

Receta Python 3 No. 3-8: Calcular Fracciones

1. Problema

Calcular fracciones.

2. Solución

El módulo fractions provee la clase Fraction para el trabajo con fracciones en Python. Las operaciones aritméticas fundamentales están disponibles para sumar, restar, multiplicar y dividir (Beazly, Jones, 2013).

3. Código Python 3

Archivo Python fracciones.py [enlace alternativo]:

Prueba de ejecución:


29/21
10/21
2
3
0.7142857142857143
1/2

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

domingo, 27 de mayo de 2018

Receta Python 3 No. 3-7: Validar Valores Infinitos y NaN

1. Problema

Validar el estado de infinidad (positiva y negativa) y no-número de un valor punto flotante.

2. Solución

El módulo math cuenta con los métodos isinf() y math.isnan() para realizar estas comprobaciones (Beazly, Jones, 2013).

3. Código Python 3


Prueba de ejecución:


-inf
inf
nan
True
True
True

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

jueves, 24 de mayo de 2018

Receta Python 3 No. 3-6: Operar con Números Complejos

1. Problema

Realizar operaciones aritméticas con números complejos.

2. Solución

En Python se cuenta con la función complex(real, imag) para formar la estructura que representa números complejos, es decir, (parte_real, parte_compleja). Para operaciones adicionales con complejos es necesario importar el módulo cmath (Beazly, Jones, 2013).


Nota: El interés en este campo radica en fortalecer esquemas de autenticación para la Web. Por eso es importante que el programador Python entienda estas estructuras matemáticas.

3. Código Python 3


Prueba de ejecución:


(2+4j)
(3-5j)
2.0
-5.0
(2-4j)
(5-1j)
(26+2j)
(-0.4117647058823529+0.6470588235294118j)
4.47213595499958
(24.83130584894638-11.356612711218173j)
(-11.36423470640106-24.814651485634183j)
(-4.829809383269385-5.5920560936409816j)

4. Literatura & Enlaces


Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.


O

miércoles, 23 de mayo de 2018

Receta Python 3 No. 3-5: Empaquetar y Desempaquetar Enteros Grandes desde Elementos Byte

1. Problema

A partir de una cadena de bytes recrear (desempaquetar) un número entero. Realizar el proceso inverso (empaquetar) usando un entero y obtener una cadena de bytes.

2. Solución

El método from_bytes() -propio de int- permite interpretar una cadena de bytes como un número entero. De forma análoga, un número entero grande puede ser revertido a su representación de bytes por medio del método to_bytes() (Beazly, Jones, 2013).

3. Código Python 3


Prueba de ejecución:


16
69120565665751139577663547927094891008
94522842520747284487117727783387188

b'\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004'
b'4\x00#\x00\x01\xef\xcd\x00\xab\x90x\x00V4\x12\x00'

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

viernes, 18 de mayo de 2018

Receta Python 3 No. 3-4: Representar Enteros como Números Binarios, Octales y Hexadecimales

1. Problema

Representar números enteros como binarios, octales y hexadecimales a partir de representaciones enteras.

2. Solución

Python cuenta con las funciones bin(), oct(), y hex() que permiten la conversiones de valores enteros en bases binaria, octal y hexadecimal (Beazly, Jones, 2013).


Las conversiones también se pueden realizar por medio del método format().

3. Código Python 3

Archivo Python bases-numericas.py [enlace alternativo]:

Prueba de ejecución:


0b10011010010100
0o23224
0x2694

10011010010100
23224
2694

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

jueves, 17 de mayo de 2018

Receta Python 3 No. 3-3: Formatear Números para Presentación Visual

1. Problema

Formatear números para presentación visual: precisión, alineación, separador de unidades de mil, entre otros.

2. Solución

Por medio de la función integrada format() de Python es fácil y flexible realizar el formateo de números (Beazly, Jones, 2013).

3. Código Python 3


Prueba de ejecución:


3141.59
    3141.6
3141.6    
3,141.59265
3,141.6
3.141593e+03
3.14E+03

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

miércoles, 9 de mayo de 2018

Receta Python 3 No. 3-2: Realizar Cálculos Precisos con Decimales

1. Problema

Realizar cálculos precisos con números reales evitando la pérdida generada por tipos numéricos de punto flotante.

2. Solución

El módulo decimal provee la clase Decimal para el tratamiento de operaciones o cálculos de némeros decimales (Beazly, Jones, 2013).

3. Código Python


Prueba de ejecución:

6.300000000000001
False
6.3
True

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

martes, 8 de mayo de 2018

Receta Python 3 No. 3-1: Redondear Valores Numéricos

1. Problema

Redondear un número punto flotante a una cantidad fija de decimales.

2. Solución

Por medio de la función incorporada round(valor, digitos) es posible redondear un número decimal (punto flotante) (Beazly, Jones, 2013).

3. Código Python 3

Archivo Python redondear.py  [enlace alternativo]:

Prueba de ejecución:


1.3
1.4
-1.4
3.142
3.14
3.142
El valor de 3.141592653589793 redondeado a 3 decimales es 3.142

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O

martes, 1 de mayo de 2018

Receta Python 3 No. 2-20: Operaciones de Texto en Bytes de String

1. Problema

Ejecutar operaciones comunes de texto -e.g., búsqueda, reemplazo, remoción de caracteres) a nivel de los bytes de una cadena de caracteres.

2. Solución

En su defecto, Python ofrece soporte para la manipulación de cadenas de caracteres a nivel de bytes (Beazly, Jones, 2013).

3. Código Python 3


Prueba de ejecución:

bytearray(b'Fyodor')
True
[bytearray(b'Fyodor'), bytearray(b'Dostoevskyiv')]
bytearray(b'Fyodor Dostoevsky')

4. Literatura & Enlaces

Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.

O