擅长:python、mysql、java
<p>如果只想传递迭代器(这不适用于静态字符串),请使用以下代码:</p>
<pre><code>def alternate(*args):
for i in range(10):
for arg in args:
arg_num = i
for thing in arg:
if arg_num == i:
yield thing
break
else:
arg_num+=1
</code></pre>
<p>这只是您的原始代码,稍作修改。
当您每次调用alternate函数时使用静态字符串时,将传入一个新字符串,您可以从0开始计数(arg_num=0)。在</p>
<p>但是,当您通过调用hide()方法创建迭代器时,每个字符串只会创建一个迭代器实例,您应该跟踪自己在迭代器中的位置,因此您必须将arg_num=0更改为arg_num=i,还需要添加break语句。在</p>