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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9075
c989a1669243 <fizzie> revert 58b9ee8f97a7
HackBot
parents:
diff changeset
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
c989a1669243 <fizzie> revert 58b9ee8f97a7
HackBot
parents:
diff changeset
4 name = sys.argv[1] if len(sys.argv) > 1 else "/dev/stdin"
c989a1669243 <fizzie> revert 58b9ee8f97a7
HackBot
parents:
diff changeset
5 with open(name, "r") as f:
c989a1669243 <fizzie> revert 58b9ee8f97a7
HackBot
parents:
diff changeset
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