Paso 7: Hacerlo en Python
Permite aceptar este código en un script de Python 3 llamado polyPyPi.py.
Tenga en cuenta que todo el código utilizado en este Instructables está disponible en https://github.com/MeaningOf42/PyPrinterPi.
Algunas cosas a destacar en el código:
- Errores de redondeo pueden convertirse fácilmente en un problema ya que disminuye el valor de la longitud del lado de un polígono más pequeño, lo que significa si no prestas atención se puede obtener redondeado a cero. Así que si pides π a 2 lugares decimales, después de tres o más iteraciones se obtiene el 3.14 correcta mientras que en 100 o más iteraciones se obtiene 0.0. Para evitar este tipo de error mi código establece el número de decimales en los cálculos basados en lo que sea mayor: el número de iteraciones o el número de posiciones decimales que se pidieron. El código también calcula dos veces el número de lugares decimales necesarios, esto es para asegurar el redondeo errores por efecto de redondeo para arriba raíces cuadradas no lo hacen en la respuesta final.
- El código utiliza la biblioteca Decimal para poder calcular números con más decimales que el 17 o así permite por defecto tipo de flotador.
- Mientras se ejecuta rápido, no funciona casi lo suficientemente rápido como para poder imprimir π continuamente en una impresora térmica, necesitamos un algoritmo más rápido.