переставить min и max

вот такое задние.

На вход программе подается строка текста, содержащая различные натуральные числа. Из данной строки формируется список чисел. Напишите программу, которая меняет местами минимальный и максимальный элемент этого списка.

numbers = 3 4 5 2 1

не могу понять почему выдаёт ошибку 'int' object has no attribute 'index' . я же вроде перевёл весь список в int. или список сместился подскажите пожалуйста .

numbers = input().split()
s2 = []
for c in numbers:
    s2.append(int(c))
s_max= max(s2)
s_min = min(s2)
s_max.index = s2.index(s_max)
s_min.index = s2.index(s_min)
s2[s_max.index], s2[s_min.index] = s2[s_min.index], s2[s_max.index]
print(*s2)

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

Автор решения: Dr Proger

Практически верно, только немного иначе.Как было уже сказано ранее, у чисел нет метода .index

Можно просто создать новую переменную. Выглядит итог примерно так:

numbers = input().split()
s2 = []
for c in numbers:
    s2.append(int(c))
s_max = max(s2)
s_min = min(s2)
s_max_index = s2.index(s_max)
s_min_index = s2.index(s_min)
s2[s_max_index], s2[s_min_index] = s2[s_min_index], s2[s_max_index]
print(*s2)

Если чуток сократить программу, то можно написать так:

nums = list(map(int,input("Введите числа:\t ").split()))
ind_max = nums.index(max(nums))
ind_min = nums.index(min(nums))
nums[ind_max], nums[ind_min] = nums[ind_min], nums[ind_max]
print("Результат:\t", *nums)
→ Ссылка