Sha256: 1b62186146bd2e29457abb86c07f35ab21943a1c7a78953a3f46f474f554bebb

Contents?: true

Size: 1.11 KB

Versions: 74

Compression:

Stored size: 1.11 KB

Contents

def recite(start, take=1):
    results = []
    for i in range(start, start - take, -1):
        results.extend(verse(i))
        if i > start - take + 1:
            results.append('')
    return results


def verse(number):
    return [
        ''.join([
            "{} of beer on the wall, ".format(_bottles(number).capitalize()),
            "{} of beer.".format(_bottles(number))
        ]),
        ''.join([
            _action(number),
            _next_bottle(number)
        ])
    ]


def _action(current_verse):
    if current_verse == 0:
        return "Go to the store and buy some more, "
    else:
        return "Take {} down and pass it around, ".format(
            "one" if current_verse > 1 else "it",
        )


def _next_bottle(current_verse):
    return "{} of beer on the wall.".format(
        _bottles(_next_verse(current_verse)),
    )


def _bottles(number):
    if number == 0:
        return 'no more bottles'
    if number == 1:
        return '1 bottle'
    else:
        return '{} bottles'.format(number)


def _next_verse(current_verse):
    return current_verse - 1 if current_verse > 0 else 99

Version data entries

74 entries across 74 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.179 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.178 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.177 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.176 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.175 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.174 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.173 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.172 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.171 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.170 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.169 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.167 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.166 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.165 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.164 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.163 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.162 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.161 tracks/python/exercises/beer-song/example.py
trackler-2.2.1.160 tracks/python/exercises/beer-song/example.py