2015-11-15 1 views
-3

hey les gars je veux créer un jeu de dés, mais la sortie devrait être une liste j'utiliser ce code pour non-liste ouputcomment faire une sortie aléatoire répertoriée en python?

import random 
f=True 
while(f): 
    x=random.randint(1,6) 
    print(x) 
    if(x==6): 
     f=False 

je veux plutôt dire si obtenir

1 
2 
4 
6 

par exemple au lieu que je veux obtenir

[1,2,4,6] 
+1

Donc, mettez les éléments dans une liste. Quel est ton vrai problème? Postez le code avec lequel vous avez des problèmes. –

+0

Qu'avez-vous essayé pour obtenir une liste en sortie? Vous devez créer une liste vide, puis ajouter un 'x' dans cette liste un par un. –

+0

Vous voulez littéralement ** imprimer ** '[1,2,4,6]'? –

Répondre

3

au lieu d'imprimer votre valeur, de recueillir dans une liste:

# create a new list 
numbers = [] 

f = True 
while f: 
    x = random.randint(1, 6) 

    # instead of printing, append it to the list 
    numbers.append(x) 

    if x == 6: 
     f = False 
+0

Pour la simplicité du code, s'il vous plaît utiliser 'break' ..... –

+0

désolé la seule chose que je peux utiliser est l'algorithme séquentiel et 'si' et boucle while" comme c'est un devoir " –

+0

Vous ne pouvez vraiment pas recueillir des choses dans un liste si vous n'êtes pas autorisé à recueillir des choses dans une liste ... – poke

0

Mettez-le dans une liste.

 
import random 
f=True 
my_list = [] 
while(f): 
    x=random.randint(1,6) 
    my_list.append(x) 
    if(x==6): 
     f=False 


>>> print(my_list) 
[1, 2, 4, 6] 
0

Si vous voulez impression quelque chose qui ressemble à une liste, et vous pouvez en principe pas utiliser quoi que ce soit qu'un développeur python régulier utiliserait pour résoudre cette tâche, bien ...

import random 
f=True 
first=True 
print("[", end="") 
while(f): 
    x=random.randint(1,6) 
    if not first: 
     print(",", end="") 
    else: 
     first = False 
    print(x, end="") 
    if(x==6): 
     f=False 
print(']')