短qlock
えー 先日の時計quineがわりと長かったんで けっきょくミリ秒まで表示しないとquineとして機能しないかった。いささか美的じゃないので短くしようと思う。
s=""" import datetime,sys c=chr w=sys.stdout.write def put(t,x,y,z): global st for i in range(x): if ([1073733591, 2911164693, 1067450325, 2778089557, 1067438039][(z>1)+(z>5)+(z>7)+(z>11)]>>3*ord(t)-144)>>y&1: w(st[0]) st=st[1:]+chr(118) else:w(chr(32)) d=datetime.datetime.today() for z in range(14): for t in ":".join(map(lambda x:["0",""][x>9]+str(x),[d.hour,d.minute,d.second])): put(t,3,0,z) put(t,7,1,z) put(t,3,2,z) w(" ") w(chr(10)) print c(34)*3+c(10)+'s=s.replace('+chr(34)+chr(107)+chr(34)+',"'+c(92)+'n").replace("v"," ")'+c(10)+'print st=s.replace("'+c(92)+'n").replace("v"," ")'+chr(10)+'print "s="+chr(34)*3'+chr(10)+'exec(s)'+c(10)+' '*80+'#made by catupper#' """ s=s.replace("k","\n").replace("v"," ") st=s.replace("\n","k").replace(" ","v") print "s="+chr(34)*3 exec(s)
みじかくするなんてむりぽ。。。
たいして短くなってない ”1”の面積が小さすぎるから太くした。ご了承願いたい。
あと一桁だと十の位に0が付く仕様、これで横幅の小さい出力になる