éviter les répétions dans random

Résolu
titi66 -  
 titi66 -
Bonjour,
je programme en python 3.8,
et quand j'utilise random pour générer 5 nombre à la suite.

exemple :
nombre1 = random.randint(1,20)
nombre2 = random.randint(1,20)
nombre3 = random.randint(1,20)
nombre4 = random.randint(1,20)
nombre5 = random.randint(1,20)
print(nombre1,nombre2,nombre3,nombre4,nombre5)

résultat :
2 5 18 10 18

Je voudrai que ces 5 nombres soit différents.
Si je suis l'exemple je ne veut pas que 18 apparaisse 2 fois.
comment faire ?

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    peut-être ainsi:
    print (random.sample(range(1,21),5))
    1
    1. titi66
       
      Merci du conseil yg_be !
      J'ai résolue mon problème !
      0
  2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Fais une liste des valeurs possibles, puis tu prends un random index de la liste et tu retire l'élément sélectionné.
    0
  3. Utilisateur anonyme
     
    Bonjour

    autre option, toujours avec une liste, tu la "mélanges" en échangent n fois 2 random index.
    Une fois bien mélangées, tu prends les éléments dans l'ordre où ils sont
    0