擅长:python、mysql、java
<ol>
<li>第3行的<code>return</code>语句不应该在<code>return</code>的内容前面有<code>(</code>。你知道吗</li>
<li>递归的基本情况(else语句,即<code>len(t) <= 1</code>)应该返回字符串<code>"null"</code>或单个元素列表<code>["null"]</code>。你知道吗</li>
<li>函数的递归组件(<code>return tuplePrint(t[1])</code>)也必须包含当前元素,因此您可能需要<code>tuplePrint(t[1]) + [t[0]]</code>或<code>tuplePrint(t[1]) + " " + t[0]</code>。你知道吗</li>
<li>一旦您的函数返回一个类似<code>"null A B E"</code>的字符串或一个类似<code>[null, A, B, E]</code>的列表,您就需要通过加入列表来打印它:<code>", ".join(tuplePrint(x))</code>(在字符串情况下,您应该对<code>tuplePrint(x)</code>返回的字符串调用<code>split()</code>)。你知道吗</li>
</ol>
<p>导致:</p>
<pre><code>def tuplePrint(t):
if len(t) > 1:
return tuplePrint(t[1]) + [t[0]]
else:
return ["null"]
x = ('E', ('B', ('A', ())))
print(", ".join(tuplePrint(x)))
# null, A, B, E
</code></pre>