Mercurial > repo
comparison bin/beat @ 11939:d1bee51ebc7e draft
<wob_jonas> fetch bin/beat https://hack.esolangs.org/get/bin/beat
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Fri, 13 Sep 2019 12:13:46 +0000 |
parents | 3a5df91432c4 |
children | 35d17fa5d3ba |
comparison
equal
deleted
inserted
replaced
11938:78fee00d2bd2 | 11939:d1bee51ebc7e |
---|---|
1 #!/usr/bin/python3 | 1 #!python3 |
2 # beat - prints current Swatch Internet Time | 2 # beat - print current time in Swatch Internet Time format. |
3 import math,time | 3 # blame fizzie |
4 b = math.floor(((time.time()+3600) % 86400) / 86.4) | 4 import math,sys,getopt,time |
5 print("%03d"%(b,)) | 5 prec = 0 |
6 opts,args = getopt.getopt(sys.argv[1:], "hpP:") | |
7 print(opts) | |
8 for opt,oarg in opts: | |
9 if "-p" == opt: prec = 2 | |
10 elif "-P" == opt: prec = int(oarg) | |
11 elif "-h" == opt: print("Usage: beat [-p]\nPrint current time in Swatch Internet Time format."); sys.exit(2) | |
12 else: raise AssertionError() | |
13 if args: | |
14 raise RuntimeError("too many command-line arguments") | |
15 b = math.floor(((time.time()+3600) % 86400) / 86.4 * 10**prec) | |
16 o = "%0*d" % (prec, b) | |
17 if 0 < prec: o = o[0:-prec] + "." + o[-prec:] | |
18 print(o) | |
19 #END |