Ошибка string indices must be integers в программе Python

пишу программу на Python, в которой нужно ввести строку и слово, и заменить самое короткое слово в строке на введенное слово. '''

st=str(input('enter string: ').split())
wr=str(input('enter word: '))
res = []
count = 100
n = 1
for i in st:
    if len(i)<count:
        count=len(i)
        word=i 
        n = i
        
for i in st:
    if len(i) == n:
        res.append(wr)
    else:
        res.append(st[i])

        


print(res)

''' В строке res.append мне выводится эта ошибка, хотя непонятно, потому что i и есть int.


Ответы (1 шт):

Автор решения: Danis

Вероятнее всего проблема здесь

st=str(input('enter string: ').split())

Если ввести привет друг то мы получим строку

"['привет', 'друг']" 

а нам нужен массив поэтому уберите str

st = input('enter string: ').split()

а также у вас не правильно содержимое второго цикла for

if len(i) == count:
    res.append(wr)
else:
    res.append(i)
→ Ссылка