def alternate(*args):
l = ''
c = 0
while True:
try:
iterable = args[c]
i = iter(iterable)
l = l + next(i)
c = c + 1
except:
break
yield l
Альтернативный генератор принимает любое количество итераций в качестве параметров: он производит первое значение из первого параметра, затем первое значение из второго параметра, ..., затем первое значение из последнего параметра; затем второе значение из первого параметра, затем второе значение из второго параметра, ..., затем второе значение из последнего параметра; и т. д. Если какой-либо итерабельность не производит больше значений, этот генератор не производит больше значений. Например:Функция, которая принимает итерации и возвращает строку
for i in alternate('abcde','fg','hijk'):
print(i,end='')
ответ:
afhbgic
когда моя функция принимает
('abcde','fg','hijk')
возвращает
afh
, но правильный ответ
afhbgic
может кто-нибудь сказать мне, как это исправить? большое спасибо!
Мне просто нужно, чтобы получить правильный вывод – jiahuiding
Да, я так думаю – jiahuiding
Как насчет 'zip'ping' args', а затем присоединяется к полученным наборам (' '' .join() '), а затем присоединяется к результатам этих объединений? – BallpointBen