this is a pure python implementation of the bogosort algorithm also known as permutation sort stupid sort slowsort shotgun sort or monkey sort bogosort generates random permutations until it guesses the correct one more info on https en wikipedia orgwikibogosort for doctests run following command python m doctest v bogosort py or python3 m doctest v bogosort py for manual testing run python bogosort py pure implementation of the bogosort algorithm in python param collection some mutable ordered collection with heterogeneous comparable items inside return the same collection ordered by ascending examples bogosort0 5 3 2 2 0 2 2 3 5 bogosort bogosort2 5 45 45 5 2 pure implementation of the bogosort algorithm in python param collection some mutable ordered collection with heterogeneous comparable items inside return the same collection ordered by ascending examples bogo_sort 0 5 3 2 2 0 2 2 3 5 bogo_sort bogo_sort 2 5 45 45 5 2
import random


def bogo_sort(collection):
    

    def is_sorted(collection):
        for i in range(len(collection) - 1):
            if collection[i] > collection[i + 1]:
                return False
        return True

    while not is_sorted(collection):
        random.shuffle(collection)
    return collection


if __name__ == "__main__":
    user_input = input("Enter numbers separated by a comma:\n").strip()
    unsorted = [int(item) for item in user_input.split(",")]
    print(bogo_sort(unsorted))