[TPC-R] Reto #2: Decimales de PI

Iniciado por Once, Diciembre 21, 2017, 12:14:44 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

The Python Challenges
el regreso
Reto #2: Decimales de Pi


La idea de este reto es implementar un script capaz de retornar el n-ésimo decimal de Pi sin calcularlo sino usando esta página: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Consideraciones


  • Se pide obtener los decimales, por lo que el primer 3 no cuenta
  • La función recibirá un argumento (posición) indicando el primer decimal a obtener, este será el primer argumento pasado a la función. Tener en cuenta que posición=0 no representa nada, por lo que la función deve devolver None y  posición=1 indica el primer número decimal
  • Opcionalmente, la función recibirá un segundo argumento (cantidad) que indicará la cantidad de dígitos a obtener a partir de la posición indicada en el primer argumento
  • si el argumento posición es mayor que la cantidad de decimales que proporciona la página, la función debe devolver None

Ejemplos

Código: python
pi(1) -> 1
pi(1, 3) -> 141
pi(14, 2) -> 93
pi(0) -> None


Reglas


  • TODAS las dudas hacerlas en este post, así si algo no queda claro es aclarado para todos los participantes a la vez. Así que bajo ninguna circunstancia se resuelven dudas por privado
  • La solución debe estar escrita en Python 3.*
  • Seguir en la medida de lo posible las PEP8
  • La elegancia de la solución otorga puntos extra
  • Cumplir con la plantilla. (La calificación la hace un bot por lo que es importante seguirla), el no cumplimiento de la plantilla acarrea una sanción en tiempo.
  • El resultado retornado por la función debe ser un entero, no lista ni string.

Plantilla

Código: python
def pi(posicion, cantidad=None):
    resultado = 0  # Resultado a retornar
    return resultado  # Retornamos el resultado

if __name__ == "__main__":
    # Hacer las pruebas del scrip
    # en este bloque para no interferir
    # con la calificación del bot
    pi(1)  # ejemplo de llamada a la función


Ayuda


  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Calificación
[/b]

Este reto lo gana el script más rápido

Recomendación: Hacer lo que se pide y preferiblemente evitar los prints puesto que consumen tiempo y el bot sólo califica lo que retorna la función.

NOTA: Para este reto se penalizarán la cantidad de librerias externas utilizadas.

Enviar la solución por mp a @Once el reto cierra el domingo a las 11:59PM hora Colombiana

Happy coding
Saludos.







You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

*Reservado para las soluciones*







You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Hola, me surge la siguiente duda

Al incumplir esta medida del PEP8

Maximum Line Length
Limit all lines to a maximum of 79 characters.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

¿Se aplica penalización?

Gracias

Hola @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

si no puedes acortar la longitud de la línea, no hay problema, como dice el post, la idea es cumplirlas cuando sea posible (no siempre se pueden cumplir todas) además, la idea de incluir las PEP8 la calificación es solo para que los que se animen a participar sepan que existen y por lo menos las lean, así se van acostumbrando a escribir código un poco más "standard" y mucho más legible.

Aprovecho para aclarar, para todos los participantes que las normas que no se deben incumplir son:


  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Código: python
x             = 1
y             = 2
long_variable = 3
    [/li]

Gracias por la pregunta y organizaré más esta parte para que quede más claro en el próximo reto.

Saludos!







You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login