J'ai utilisé une fonction aléatoire pour une liste dans mon code et je ne suis pas capable de sélectionner un élément spécifique.
code p> si la sortie est: p> Comment puis-je taper "3" et la sortie est "bleu" ou lorsque je tape "2" la sortie imprimée est "vert" (pour un nombre, la couleur correspondante doit être imprimé après l'utilisation de la fonction aléatoire) p> p>
4 Réponses :
mettre les paires dans un dictionnaire:
En plus de la bonne réponse de Barmar, vous pouvez nettoyer le code un peu et éviter d'obtenir deux fois le même numéro ou la même couleur: aléatoire.Sample (LST1, 3 ) code> choisira 3 éléments uniques em> de lst1 code>, au hasard. Ensuite, nous choisissons également 3 éléments aléatoires uniques de l'autre liste. Ensuite, nous glissons ces éléments ensemble dans une liste de paires, puis nous les mettons tous dans un dictionnaire. P> P>
Je suggérerais d'utiliser aléatoire.shuffle puis list.pop code> A> Afin d'éviter les touches et les valeurs dupliquées, d'avoir toujours trois éléments en dict (entrée d'utilisateur ignorée, déjà affichée dans d'autres réponses): import random
colors=['black','blue','green','red','yellow']
nums=[1,2,3,4,5]
res = {}
for _ in range(3):
random.shuffle(colors)
random.shuffle(nums)
num, color = nums.pop(), colors.pop()
res[num] = color
print(res)
#=> {4: 'green', 3: 'yellow', 1: 'black'}
print(res[1])
#=> black
print(colors, nums) # not used
#=> ['blue', 'red'] [2, 5]
Il n'y a pas besoin de deux listes - utilisez simplement aléatoire.sample ()
sur votre couleurs code> et énumérer eux dans A dict: {1: 'blue', 2: 'yellow', 3: 'black'}
{1: 'yellow', 2: 'green', 3: 'blue'}
{1: 'black', 2: 'green', 3: 'yellow'}
{1: 'black', 2: 'yellow', 3: 'red'}
{1: 'yellow', 2: 'green', 3: 'blue'}
Juste shuffle
lst code> ... !? Ensuite, chaque élément aura un index aléatoire (bien que zéro basé, pas unique).