某問題で、
Pythonには chrっていう関数があるのになぜ unchrがないんだ!っておもったり、
さっかくなら数値を2進数にして^とか | とか & とかを簡単に出来ないかなぁって思って作った。
#!usr/env/python #chr's converse unchr = lambda(raw): bin(ord(raw))[2:] #unchr's test print("{}\n{}".format(unchr('A'),unchr('z'))) #make chrr def chrr(a,b): string = "" for i in range(7): string += str(int(unchr(a)[i]) ^ int(unchr(b)[i])) return string #chrr's test print("{}").format(chrr('A','z')) #make last function #lsfn = lambda(a,b): chr(int(chrr(a,b),2)) def lsfn(a,b): s = int(chrr(a,b),2) return chr(s) #lsfn(last function)'s test #good example print lsfn('a','Z') #bad example print lsfn('o','u')
ソースの汚さはヤバいけど、とりあえず動く。
ちなみに下のbad exampleっていうのは なぜか空白になってしまい、
何も出てこない。なんでだろうか。予測としてはそんな文字 asciiにねぇよって感じかなって
思いますけど、どうなんでしょうか。