Skip to content
Snippets Groups Projects
Select Git revision
  • b69c1e0a6b82a9187c9b49750700090ac8d0ecc6
  • master default protected
2 results

tirage-remise.py

Blame
  • tirage-remise.py 780 B
    from math import *
    from random import *
    
    # Simulation d'un tirage avec remise de k objets parmi n
    
    def tirage_uniforme_k_of_n_avec_remise(n,k):
        if k > n :
            raise ValueError("k (%d) doit être =< que n (%d) " % (k,n))
        T=[x for x in range(1,n+1,1)]   # On constitue une urne avec p objets
    
        for i in range(k) : # Tirage de k numéros
                d=randint(1,n)
                # On permute le d-ème élément de l'urne et la derniere
                temp=T[d-1]
                T[d-1]=T[n-1]
                T[n-1]=temp
                n=n-1
        return T[n:n+k+1]
        
    
    n=int(input("La valeur de n ? "))
    k=int(input("La valeur de k (parmi n) ? "))
    try :
        print("Le tirage : ", tirage_uniforme_k_of_n_avec_remise(n,k))
    except ValueError as err :
        print("Error: {0}".format(err))