é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

yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
bonjour,
peut-être ainsi:
print (random.sample(range(1,21),5))
1
titi66
 
Merci du conseil yg_be !
J'ai résolue mon problème !
0
NHenry Messages postés 2497 Date d'inscription   Statut Modérateur Dernière intervention   370
 
Fais une liste des valeurs possibles, puis tu prends un random index de la liste et tu retire l'élément sélectionné.
0
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