Replace common looping boilerplate with pretty method chaining.
Project description
Welcome to loop
Replace common looping boilerplate with pretty method chaining.
Installation
pip install loop-python
Example
Loop over range(20)
, apply the fibo()
function and then, on top of it, apply the fizzbuzz()
function, finally, apply print()
:
from loop import loop_over
def fizzbuzz(x):
rules = {3: 'fizz', 5: 'buzz'}.items()
res = ''.join(word for div, word in rules if x%div == 0)
return res if res else x
def fibo(x):
a, b = 1, 1
for _ in range(1, x):
a, b = b, a + b
return b
loop_over(range(20)).map(fibo).map(fizzbuzz).map(print).exhaust()
Will produce the following output:
1
1
2
fizz
buzz
8
13
fizz
34
buzz
89
fizz
233
377
buzz
fizz
1597
2584
4181
fizzbuzz
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
loop-python-0.1.2.tar.gz
(7.7 kB
view details)
Built Distribution
File details
Details for the file loop-python-0.1.2.tar.gz
.
File metadata
- Download URL: loop-python-0.1.2.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 492d6b5ca6c84d82c6427dc2801ec591fcbe6d5f322c15625169ba9f6b9bebfa |
|
MD5 | 9fba7b3fe15c9fe14ff5f9d128330d3c |
|
BLAKE2b-256 | 9cd9f7e7591126d9ff9135c2ee39b0e8342d12afd6b800061556d06f4c531b5f |
File details
Details for the file loop_python-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: loop_python-0.1.2-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfbd68f87c40d44baa6062257493320ddfde3e145f0505350bf5fa29fba1b703 |
|
MD5 | 5263e6d1111824dcc0d72f8854a7ada8 |
|
BLAKE2b-256 | c3592331b1a4c218f05fc10e37e022810b6edfa3c23107cfa3857ceaa3a559e9 |