作者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
→ yume190:Input 感覺不太一樣,上面(字串),下面(應該是LIST) 10/14 22:53
→ uranusjr:不太懂 Pascal, 這是在算 checksum? 10/14 23:22
→ blackspace98:是的~ 10/16 21:47