Mercurial > repo
annotate bin/distort @ 10968:75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
author | HackBot |
---|---|
date | Mon, 29 May 2017 07:35:17 +0000 |
parents | d8f742efd393 |
children | 65ecc583baf2 |
rev | line source |
---|---|
9075 | 1 #!/usr/bin/env python |
10968
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
2 import sys, math |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
3 N = 350 |
9075 | 4 name = sys.argv[1] if len(sys.argv) > 1 else "/dev/stdin" |
5 with open(name, "r") as f: | |
6 data = ' \\ '.join(f.read().splitlines()) | |
10968
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
7 s = len(data) |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
8 mw = int(math.log10(2*s/N+1)) |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
9 mw += s > ((N-2)*9-18*mw+1)*((10**mw-1)/9)-mw |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
10 p=0 |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
11 i=1 |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
12 while (p<s): |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
13 lw = N-mw-2-len(`i`) |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
14 print data[p:p+lw] |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
15 i+=1 |
75d67a002697
<oerjan> fetch bin/distort https://hackego.esolangs.org/get/bin/distort
HackBot
parents:
9929
diff
changeset
|
16 p+=lw |