Я давно застрял в решении этого вопроса, я написал фрагмент кода, который работает в соответствии с запросом, но я, кажется, получаю сообщение об ошибке в конце компиляцииКак написать рекурсивную функцию в python
Вы должны разработать итеративный и рекурсивный функция называется replicate_iter и replicate_recur соответственно, которые будут получать два аргумента: раз, что является количество повторов и данных, которые это число или строка должна быть повторена.
Функция должна возвращать массив, содержащий повторения данных аргумента . Например, replicate_recur (3, 5) или replicate_iter (3,5) должен вернуть [5,5,5]. Если аргумент times отрицателен или равен нулю, возвращает пустой массив. Если аргумент недействителен, поднимите значение ValueError.
мой код, как показано ниже:
def replicate_iter(times,data):
emptyArray = []
if not isinstance(data, int) and not isinstance(data, str):
raise ValueError
if times <= 0:
print emptyArray
if not isinstance(times,int):
raise ValueError
else:
while times > 0:
emptyArray.append(data)
times -= 1
return emptyArray
array = []
def replicate_recur(times,data):
if not isinstance(data,int) and not isinstance(data,str):
raise ValueError
if not isinstance(times,int):
raise ValueError
if times <= 0 and len(array) != 0:
return array
elif times <= 0 and len(array) <=0:
return []
else:
array.append(data)
replicate_recur(times - 1,data)
Просьба помочь с предложениями, пожалуйста,
сообщение об ошибке:
Положите свою трассировку ошибок как код, а не изображение. –
Спасибо. Сделал бы. Новинка к этому – MrTerfa
Нет пота. Просто отредактируйте свой вопрос, чтобы содержать сообщение об ошибке как текст, а не как изображение, чтобы его можно было найти при поиске. –