擅长:python、mysql、java
<p>您可以使用以下代码获得所需的结果:</p>
<pre><code>import re
test_str = "4a2b"
def multiply_char(c, num):
return c *num
def uncompress_str(s):
digits_str = [s for s in re.findall("\d", s)]
for dig in digits_str:
indx = s.find(dig)
sub_str_replace = multiply_char(s[indx+1], int(dig))
pat = s[indx:indx+2]
s = s.replace(pat, sub_str_replace,1)
return s
</code></pre>
<p><code>test_str = "4a2b"</code>的输出是:</p>
<pre><code>print(uncompress_str(test_str))
aaaabb
</code></pre>
<p>用户输入字符串的输出为:</p>
<pre><code>test_str = input("Enter String: ")
print(uncompress_str(test_str))
Enter String: 5d4c7i8q
dddddcccciiiiiiiqqqqqqqq
</code></pre>
<p>我喜欢总是分离到函数,但是你可以不用函数,作为循环的一部分</p>
<p><strong>增加了对windows和ubuntu用户输入的检查</p>
<p>乌班图:</p>
<pre><code>davidsr@complex1:/data2/davidsr$ python3 test.py
Enter String: 4a3b5g6y
aaaabbbgggggyyyyyy
</code></pre>
<p>视窗:</p>
<pre><code>C:\Users\davidsr\PycharmProjects\test_matan>py test.py
Enter String: 4a3b
aaaabbb
</code></pre>