У меня есть функция, которая создает составную строку на основе того, сколько раз пользователь хочет ввести строку:
def string_maker(string_list, repeat_list):
final_string = ''
for i in range(len(string_list)):
for _ in range(repeat_list[i]):
final_string += string_list[i]
return final_string
Так, например, string_maker(['a', 'b', 'c'], [1, 2, 1])
выводит abbc
.
Я хочу сделать так, чтобы, если пользователь не ввел список для аргумента repeat_list
, по умолчанию использовались все 1. Вот как я пытаюсь это сделать:
def string_maker(string_list, repeat_list = None):
if repeat_list == None:
repeat_list = [1] * len(string_list)
final_string = ''
for i in range(len(string_list)):
for _ in repeat_list[i]:
final_string += str
return final_string
print(string_maker(['a', 'b', 'c']))
Однако я получаю сообщение об ошибке «1012 *», хотя новый фрагмент, который я включил, возвращает соответствующий список [1, 1, 1]
. Есть ли лучший способ go сделать это?