Weird Python

Hier sammelt sich ein bisschen Zeug, aus den Kategorien kurioses und skurriles..

Alles was der Interpreter zwar verarbeitet, wohl aber unter Schmerzen.

Quine

Ein Quine ist ein Programm, das eine Kopie seines Quelltextes als Ausgabe schreibt.

Mit ein bisschen Schummeln bekommt man das sehr kompakt hin:

print(open(__file__).read())

Aber warte mal, den eigenen Quellcode nur ausgeben ist ein bisschen wenig.. Schon mal was von Rekursion gehört?

exec(open(__file__).read())

...

IncrementalDecoder.__init__(self, errors)
RecursionError: maximum recursion depth exceeded

🤓

Sleepsort

Sleepsort ist ein recht eleganter Sortier-Algorithmus, besticht vor allem durch seine Geschwindigkeit:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python3

from multiprocessing import Pool
from random import shuffle
from sys import argv
from time import sleep


def align(num):
    sleep(num)
    print(num)


def crowd():
    try:
        max_num = int(argv[-1])
    except ValueError:
        max_num = 23

    numbers = list(range(max_num))
    shuffle(numbers)
    return numbers


if __name__ == '__main__':
    NUMBERS = crowd()

    with Pool(len(NUMBERS)) as group:
        group.map(align, NUMBERS)