Не получается поменять элементы местами в списке , в просеке реализации алгоритма сортировки

Рейтинг: 0Ответов: 1Опубликовано: 08.07.2023

Пробовал смотреть в режиме debug и искал причину в интернете - не помогло

nums = list(map(int, input().split()))
flag = 0
while flag < len(nums):
        for i in range(len(nums)):
            if nums[i] > min(nums[flag:]):
                nums[i], nums[nums.index(min(nums[flag:]))] = nums[nums.index(min(nums[flag:]))], nums[i]
                flag += 1

            else:
                flag += 1
                continue

print(nums)

Ответы

▲ 0

Сохраните индекс в переменную и потом уже меняйте их местами:

nums = list(map(int, input().split()))
flag = 0
while flag < len(nums):
    for i in range(len(nums)):
        if nums[i] > min(nums[flag:]):
            swap_index = nums.index(min(nums[flag:]))
            nums[i], nums[swap_index] = nums[swap_index], nums[i]
            flag += 1

        else:
            flag += 1
            continue

print(nums)