擅长:python、mysql、java
<p>这里有几个问题。最明显的一点是,在原始字符串中不存在空格的情况下,代码不包含任何添加空格的方法。您希望<code>1/5</code>给出<code>1 5</code>,但这是不可能的,因为您从未尝试写入空格字符</p>
<p>通过使用索引,您还引入了一个可能的错误,即<code>linea[i-1]</code>在<code>i=0</code>表示字符串的最后一个字母时<code>linea[-1]</code></p>
<p>使用简单的for循环、list和join方法提供了一个方便易读的选项:</p>
<pre><code>plik = [
"34234 34 dfd gfd 5",
"34535",
"fsdflskfjsdflk",
"fsdkfj sdf34fdfd",
"1,3",
"1/5"]
for linia in plik:
linia = linia.strip("\n")
current_string = ''
output = []
for x in linia:
if x.isdigit():
current_string += x
elif not current_string == '':
output.append(current_string)
current_string = ''
if not current_string == '':
output.append(current_string)
if output:
print(' '.join(output))
</code></pre>