If you can control that the input will always be lowercase, the answer from @Sup is smaller.
In case you need to worry about different cases, I suggest this one that is a bit easier to read/understand if you don't have much experience with list comprehension:
def string_acumulator(input: str):
output = []
for i, letter in enumerate(input):
repetition = i+1
word = letter * repetition
output.append(word.capitalize())
return '-'.join(output)
print(string_acumulator('HELLO'))
>>> H-Ee-Lll-Llll-Ooooo
print(string_acumulator('hello'))
>>> H-Ee-Lll-Llll-Ooooo