擅长:python、mysql、java
<p>好的,首先你的函数现在没有接受一个字符串,但是它可以接受几个变量(因为你把<code>*</code>放在参数前面),因此当你把参数<code>"Hello"</code>传递给它时,它实际上会得到一个元组对象,比如<code>('Hello', )</code>。因此,在for循环中,实际上是迭代该元组,而不是迭代字符串的字符</p>
<p>如果您想获取字符串,只需删除<code>*</code></p>
<pre><code>def myfunc(args):
return "".join([b.lower() if a%2 else b.upper() for a,b in enumerate(args)])
</code></pre>
<p>请注意,该操作返回的不是字符串,而是字符列表。<code>"".join([])</code>将列表中的字符连接成一个字符串,由<code>""</code>分隔(即无)</p>