# pynacci
`pynacci` es una librería de Python que te permite trabajar con la secuencia de Fibonacci de múltiples formas, ofreciendo varias funciones útiles para generar, manipular, y analizar números de Fibonacci.
## Instalación
La librería no tiene dependencias externas. Simplemente descárgala y colócala en tu proyecto.
## Uso
A continuación, se detallan las funciones disponibles en la librería.
### 1. `fibonacci(iter=10)`
Devuelve una lista con los primeros `iter` números de la serie de Fibonacci.
**Ejemplo:**
```python
fibonacci(5) # [1, 1, 2, 3, 5]
```
### 2. `fibonacci_generator()`
Generador que produce los números de la serie de Fibonacci de manera indefinida.
**Ejemplo:**
```python
gen = fibonacci_generator()
[next(gen) for _ in range(5)] # [1, 1, 2, 3, 5]
```
### 3. `is_perfect_square(x)`
Verifica si un número es un cuadrado perfecto.
**Ejemplo:**
```python
is_perfect_square(16) # True
```
### 4. `is_fibonacci(n)`
Devuelve `True` si el número `n` es un número de Fibonacci, `False` en caso contrario.
**Ejemplo:**
```python
is_fibonacci(21) # True
is_fibonacci(22) # False
```
### 5. `fibonacci_n(n)`
Devuelve el `n`-ésimo número de Fibonacci.
**Ejemplo:**
```python
fibonacci_n(7) # 13
```
### 6. `fibonacci_sum(n)`
Devuelve la suma de los primeros `n` números de Fibonacci.
**Ejemplo:**
```python
fibonacci_sum(5) # 7 (0 + 1 + 1 + 2 + 3)
```
### 7. `fibonacci_less_than(n)`
Devuelve una lista con todos los números de Fibonacci menores que `n`.
**Ejemplo:**
```python
fibonacci_less_than(50) # [1, 1, 2, 3, 5, 8, 13, 21, 34]
```
### 8. `golden_ratio(n)`
Calcula la aproximación de la razón dorada usando los dos últimos `n` términos de Fibonacci.
**Ejemplo:**
```python
golden_ratio(10) # Aproximadamente 1.618
```
### 9. `fibonacci_remainder(n, m)`
Devuelve una lista con los primeros `n` números de Fibonacci, pero con el resto de su división entre `m`.
**Ejemplo:**
```python
fibonacci_remainder(5, 3) # [1, 1, 2, 0, 2]
```
### 10. `is_divisible_by_fibonacci(n, return_divisors=False)`
Devuelve `True` si `n` es divisible por algún número de Fibonacci mayor que 1.
Si `return_divisors=True`, devuelve la lista de los números de Fibonacci que dividen a `n`.
**Ejemplo:**
```python
is_divisible_by_fibonacci(21) # True
is_divisible_by_fibonacci(22) # False
is_divisible_by_fibonacci(21, return_divisors=True) # [3, 21]
```
### 11. `custom_fibonacci(n, first=1, second=1)`
Genera los primeros `n` números de una secuencia de Fibonacci personalizada con los dos primeros valores dados.
**Ejemplo:**
```python
custom_fibonacci(5, first=2, second=3) # [2, 3, 5, 8, 13]
```
### 12. `fibonacci_list(start, stop, step)`
Devuelve una lista de números de Fibonacci desde `start` hasta `stop`, con saltos `step`. Soporta pasos positivos y negativos.
**Ejemplo:**
```python
fibonacci_list(0, 10, 2) # [1, 2, 5, 13, 34]
fibonacci_list(10, 0, -1) # [55, 34, 21, 13, 8, 5, 3, 2, 1, 1]
```
### 13. `show_help()`
Muestra la lista de funciones disponibles y sus descripciones.
**Ejemplo:**
```python
show_help()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/pabblo2000/pynacci",
"name": "pynacci",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "fibonacci mathematics generator golden ratio",
"author": "Pablo \u00c1lvaro",
"author_email": "palvaroh2000@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/41/6d/c49e34fba906d5f6b7640031a7d12814ca00aec54f310a47c461a7b47c24/pynacci-2.2.5.tar.gz",
"platform": null,
"description": "\r\n# pynacci\r\n\r\n`pynacci` es una librer\u00eda de Python que te permite trabajar con la secuencia de Fibonacci de m\u00faltiples formas, ofreciendo varias funciones \u00fatiles para generar, manipular, y analizar n\u00fameros de Fibonacci.\r\n\r\n## Instalaci\u00f3n\r\n\r\nLa librer\u00eda no tiene dependencias externas. Simplemente desc\u00e1rgala y col\u00f3cala en tu proyecto.\r\n\r\n## Uso\r\n\r\nA continuaci\u00f3n, se detallan las funciones disponibles en la librer\u00eda.\r\n\r\n### 1. `fibonacci(iter=10)`\r\n\r\nDevuelve una lista con los primeros `iter` n\u00fameros de la serie de Fibonacci.\r\n\r\n**Ejemplo:**\r\n```python\r\nfibonacci(5) # [1, 1, 2, 3, 5]\r\n```\r\n\r\n### 2. `fibonacci_generator()`\r\n\r\nGenerador que produce los n\u00fameros de la serie de Fibonacci de manera indefinida.\r\n\r\n**Ejemplo:**\r\n```python\r\ngen = fibonacci_generator()\r\n[next(gen) for _ in range(5)] # [1, 1, 2, 3, 5]\r\n```\r\n\r\n### 3. `is_perfect_square(x)`\r\n\r\nVerifica si un n\u00famero es un cuadrado perfecto.\r\n\r\n**Ejemplo:**\r\n```python\r\nis_perfect_square(16) # True\r\n```\r\n\r\n### 4. `is_fibonacci(n)`\r\n\r\nDevuelve `True` si el n\u00famero `n` es un n\u00famero de Fibonacci, `False` en caso contrario.\r\n\r\n**Ejemplo:**\r\n```python\r\nis_fibonacci(21) # True\r\nis_fibonacci(22) # False\r\n```\r\n\r\n### 5. `fibonacci_n(n)`\r\n\r\nDevuelve el `n`-\u00e9simo n\u00famero de Fibonacci.\r\n\r\n**Ejemplo:**\r\n```python\r\nfibonacci_n(7) # 13\r\n```\r\n\r\n### 6. `fibonacci_sum(n)`\r\n\r\nDevuelve la suma de los primeros `n` n\u00fameros de Fibonacci.\r\n\r\n**Ejemplo:**\r\n```python\r\nfibonacci_sum(5) # 7 (0 + 1 + 1 + 2 + 3)\r\n```\r\n\r\n### 7. `fibonacci_less_than(n)`\r\n\r\nDevuelve una lista con todos los n\u00fameros de Fibonacci menores que `n`.\r\n\r\n**Ejemplo:**\r\n```python\r\nfibonacci_less_than(50) # [1, 1, 2, 3, 5, 8, 13, 21, 34]\r\n```\r\n\r\n### 8. `golden_ratio(n)`\r\n\r\nCalcula la aproximaci\u00f3n de la raz\u00f3n dorada usando los dos \u00faltimos `n` t\u00e9rminos de Fibonacci.\r\n\r\n**Ejemplo:**\r\n```python\r\ngolden_ratio(10) # Aproximadamente 1.618\r\n```\r\n\r\n### 9. `fibonacci_remainder(n, m)`\r\n\r\nDevuelve una lista con los primeros `n` n\u00fameros de Fibonacci, pero con el resto de su divisi\u00f3n entre `m`.\r\n\r\n**Ejemplo:**\r\n```python\r\nfibonacci_remainder(5, 3) # [1, 1, 2, 0, 2]\r\n```\r\n\r\n### 10. `is_divisible_by_fibonacci(n, return_divisors=False)`\r\n\r\nDevuelve `True` si `n` es divisible por alg\u00fan n\u00famero de Fibonacci mayor que 1.\r\nSi `return_divisors=True`, devuelve la lista de los n\u00fameros de Fibonacci que dividen a `n`.\r\n\r\n**Ejemplo:**\r\n```python\r\nis_divisible_by_fibonacci(21) # True\r\nis_divisible_by_fibonacci(22) # False\r\nis_divisible_by_fibonacci(21, return_divisors=True) # [3, 21]\r\n```\r\n\r\n### 11. `custom_fibonacci(n, first=1, second=1)`\r\n\r\nGenera los primeros `n` n\u00fameros de una secuencia de Fibonacci personalizada con los dos primeros valores dados.\r\n\r\n**Ejemplo:**\r\n```python\r\ncustom_fibonacci(5, first=2, second=3) # [2, 3, 5, 8, 13]\r\n```\r\n\r\n### 12. `fibonacci_list(start, stop, step)`\r\n\r\nDevuelve una lista de n\u00fameros de Fibonacci desde `start` hasta `stop`, con saltos `step`. Soporta pasos positivos y negativos.\r\n\r\n**Ejemplo:**\r\n```python\r\nfibonacci_list(0, 10, 2) # [1, 2, 5, 13, 34]\r\nfibonacci_list(10, 0, -1) # [55, 34, 21, 13, 8, 5, 3, 2, 1, 1]\r\n```\r\n\r\n### 13. `show_help()`\r\n\r\nMuestra la lista de funciones disponibles y sus descripciones.\r\n\r\n**Ejemplo:**\r\n```python\r\nshow_help()\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Una librer\u00eda para trabajar con la serie de Fibonacci",
"version": "2.2.5",
"project_urls": {
"Homepage": "https://github.com/pabblo2000/pynacci"
},
"split_keywords": [
"fibonacci",
"mathematics",
"generator",
"golden",
"ratio"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "416dc49e34fba906d5f6b7640031a7d12814ca00aec54f310a47c461a7b47c24",
"md5": "f6673542fb2416ea8cc1685c4b713d6d",
"sha256": "b61e434cf8e8fa8b4e9c5e6f0f8b92e4346a253b5ee870a5a75fb27b77776f14"
},
"downloads": -1,
"filename": "pynacci-2.2.5.tar.gz",
"has_sig": false,
"md5_digest": "f6673542fb2416ea8cc1685c4b713d6d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 5366,
"upload_time": "2024-10-02T23:43:59",
"upload_time_iso_8601": "2024-10-02T23:43:59.456657Z",
"url": "https://files.pythonhosted.org/packages/41/6d/c49e34fba906d5f6b7640031a7d12814ca00aec54f310a47c461a7b47c24/pynacci-2.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-02 23:43:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pabblo2000",
"github_project": "pynacci",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pynacci"
}