僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
入力値を16進値とみなして xor し、結果を16進値で出力する
スクリプトが要った。昨晩に xor を復習だか予習だかやって、
どうにか。
python2.7.3 と 3.2.3 で同じ結果が出るようにした。
from sys import argv last = len(argv) for x in range(1,last): argv[x] = int(argv[x], 16) foo = 0 for x in argv[1:last]: foo = foo ^ x print (hex(foo))
$ python3 16_16.py 30 40 21 5 0x54
foo = (int(argv[1], 16) ^ int(argv[2], 16) ^ int(argv[3], 16) ^ ...)
が動くことを確認してから、もう少し短く、かつ
融通が効くように書き直す。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。