作者blackspace98 (~我爱夏天~)
看板Python
标题[问题] 程式码改写
时间Mon Oct 14 21:24:59 2013
我有一段Delphi的语法片段,如下
function T1.Check(const s: String): String;
var
a, b: Integer;
h, l: Integer;
begin
b := 0;
for a := 1 to Length(s) do begin
b := b + Ord(s[a]); #字元转成对应的10进制
b := b and $FF; { 255 } #不懂为什麽要在加上{255}
end;
h := b div $10; #$10 表示16进制的10
l := b mod $10;
Result := Chr(h + $30) + Chr(l + $30);
end;
我把他改写成
def Check(s):
j=0
h=0
l=0
for i in s :
j=j+ord(i)
j = j & 0xFF
h=j / 0x10
l=j% 0x10
result= chr(h+0x30)+chr(l+0x30)
return result
由於这只是其中一个区块,因此我还尚未测试
我想问的是,我这样的改写是否可行呢?
可能还有遗漏的部分吗?虽然看程式有没有跑出正确结果就知道了
但是我怕我观念有误,会卡很久> <
麻烦了各位了,谢谢:p
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.75.209.131
1F:→ yume190:Input 感觉不太一样,上面(字串),下面(应该是LIST) 10/14 22:53
2F:→ uranusjr:不太懂 Pascal, 这是在算 checksum? 10/14 23:22
3F:→ blackspace98:是的~ 10/16 21:47