Demo entry 6683189

tri par insertion

   

Submitted by anonymous on Dec 12, 2017 at 13:21
Language: Python 3. Code size: 1.6 kB.

#!/usr/bin/env python
#-*- coding: utf-8 -*-

from random import randint
import os


def insertion(I):
    F=[0]*len(I)                ##On remplit la liste finale de 0 pour initialiser les "emplacements" (ça mettait 'out of range' sinon)
                                ##La fonction max() est une fonction built-in qui cherche la plus grande valeur de la liste
    for i in range(len(I)):     ##Pour chaques éléments de la liste :
        min=max(I)
        for r in range(len(I)): ##On compare les éléments entre eux pour connaître le plus petit
            if float(I[r])<min:
                min=I[r]
                a=r
        F[i]=min            ##On attribue au i ème rang de la liste finale le plus petit trouvé
        I[a]=max(I)+1          ##On "neutralise" l'élément saisi afin qu'il ne soit pas répété

    return F                ##On renvoie la liste finale

T=[]
c=-1
while c!=1 and c!=0:
    c=int(input("Voulez-vous saisir vos données(0) ou les définir aléatoirement(1) ?"))

    if c==0:
        n=int(input("Saisissez le nombre de données à saisir :"))
        for i in range(n):
            x=float(input("Saisir la valeur :"))
            T+=[x]

    elif c==1:
        n=int(input("Saisissez le nombre de données à saisir :"))
        k=float(input("Saisir la valeur maximale possible :"))
        for i in range(n):
            T+=[randint(1,k)]

print(T)
print(insertion(T))

os.system('pause')  ##Cette ligne est juste au cas où le programme n'est pas lancé avec Edupython mais avec Python (Le logiciel)

This snippet took 0.00 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).