擅长:python、mysql、java
<p>这是由于第一个if条件。循环结束后,您将获得count=“54”和decode=”“。然后,函数返回一个空字符串</p>
<p>如果输入只有两位数字,从技术上讲,循环是不必要的。请尝试以下代码:</p>
<pre><code>def decode_RLE(x):
return int(x[0])*x[1]
</code></pre>
<p>如果输入有两个以上的数字,循环和良好的老式切片应该可以工作:</p>
<pre><code>def decode_RLE(x):
counts = x[0:len(x):2] #get odd digits
chars = x[1:len(x):2] #get even digits
decode = ""
i = 0
for ch in chars:
decode += int(counts[i])*chars[i]
i += 1
return decode
</code></pre>