擅长:python、mysql、java
<p>也许另一个答案会告诉您代码中的错误,但我想给您一个建议,如果您使用python切片表示法,请全部使用它!这是一个例子,告诉你如何以一种更具Python式的方式做你想做的事情:</p>
<pre><code>import itertools
def encode(s):
return s[::2] + s[1::2]
def decode(s):
lim = (len(s)+1)/2
return ''.join([odd + even for odd,even in itertools.izip_longest(s[:lim], s[lim:],fillvalue="")])
def test(s):
print "enc:",encode(s)
print "dec:",decode(encode(s))
print "orig:",s
print
test("")
test("1")
test("123")
test("1234")
test("1234567890")
test("123456789")
test("Hello")
</code></pre>
<p>输出:</p>
^{pr2}$