Изменить програму сортировки bubble

def bubble_sort(nums):  
    swapped = True
    while swapped:
        swapped = False
        for i in range(len(nums) - 1):
            if nums[i] > nums[i + 1]:
                nums[i], nums[i + 1] = nums[i + 1], nums[i]
                swapped = True

random_list_of_nums = input("Введите элементы списка:").split(' ')  
bubble_sort(random_list_of_nums)  
print(random_list_of_nums)
  1. Инициализация массива должна производиться при помощи генерации псевдослучайных чисел rand(), а не с клавиатуры
  2. Програма должна выводить на экран промежуточные результаты упорядочения

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

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

Для первого, я бы использовал модуль random, у него есть функция randint, которая вернет значения в заданном диапазоне, останется вызвать ее столько раз, сколько будет угодно, например 10 раз и пусть числа будут в диапазоне от 0 до 10 включительно:

random_list_of_nums = [random.randint(0, 10) for _ in range(10)]

Для второго еще проще, достаточно вывести список (print(nums)) перед тем как он будет изменен:

            if nums[i] > nums[i + 1]:
                # Например прямо сюда добавить вывод списка
                # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                nums[i], nums[i + 1] = nums[i + 1], nums[i]
→ Ссылка