éviter les répétions dans random

Résolu/Fermé
titi66 - 25 avril 2021 à 15:28
 titi66 - 26 avril 2021 à 13:28
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 20777 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 décembre 2022 1 269
Modifié le 25 avril 2021 à 19:45
bonjour,
peut-être ainsi:
print (random.sample(range(1,21),5))
1
Merci du conseil yg_be !
J'ai résolue mon problème !
0
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 332
25 avril 2021 à 15:50
Fais une liste des valeurs possibles, puis tu prends un random index de la liste et tu retire l'élément sélectionné.
0
Whismeril Messages postés 18027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 décembre 2022 877
25 avril 2021 à 16:53
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