[問題] 程式碼改寫

看板Python作者 (~我愛夏天~)時間12年前 (2013/10/14 21:25), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/2 (看更多)
我有一段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

10/14 22:53, , 1F
Input 感覺不太一樣,上面(字串),下面(應該是LIST)
10/14 22:53, 1F

10/14 23:22, , 2F
不太懂 Pascal, 這是在算 checksum?
10/14 23:22, 2F

10/16 21:47, , 3F
是的~
10/16 21:47, 3F
文章代碼(AID): #1IM_2kRd (Python)
討論串 (同標題文章)
文章代碼(AID): #1IM_2kRd (Python)