return
выходит из функции, что означает, что вы вырываетесь из l oop в первой итерации.
Если вы хотите, чтобы функция «возвращала» несколько значений, вы можете использовать yield (сделать function a generator ):
def func(num):
for x in num:
yield "*" * x
list1 = [3, 9, 5, 2]
for result in func(list1):
print(result)
Как вы можете видеть, вам нужно выполнить итерацию по результату вызова функции.