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#!/usr/bin/env python3
 2
 3from multiprocessing import Pool
 4from random import shuffle
 5from sys import argv
 6from time import sleep
 7
 8
 9def align(num):
10    sleep(num)
11    print(num)
12
13
14def crowd():
15    try:
16        max_num = int(argv[-1])
17    except ValueError:
18        max_num = 23
19
20    numbers = list(range(max_num))
21    shuffle(numbers)
22    return numbers
23
24
25if __name__ == '__main__':
26    NUMBERS = crowd()
27
28    with Pool(len(NUMBERS)) as group:
29        group.map(align, NUMBERS)