по твоему решению цикл вообще не нужен ты в цикле перебираешь список и каждый раз присваиваешь переменным индексы мах и мин элементов. тут проще намного
a = [int(i) for i in input().split()]
b = a.index(min(a))
c = a.index(max(a))
a[c], a[b] = a[b], a[c]
print(' '.join([str(i) for i in a]))
и как с циклом решается обрати внимание что в цикле происходит и для чего он нужен так как по занятиям с функциями мин и мах еще не ознакомили
a = [int(s) for s in input().split()]
index_of_min = 0
index_of_max = 0
for i in range(1, len(a)):
if a[i] > a[index_of_max]:
index_of_max = i
if a[i] < a[index_of_min]:
index_of_min = i
a[index_of_min], a[index_of_max] = a[index_of_max], a[index_of_min]
print(' '.join([str(i) for i in a]))
это эталонное решение с сайта