On Wednesday, December 2, 2015 at 12:58:30 PM UTC-6, Dylan Riley wrote: > hi all, > I have been trying to figure out all day why my code is printing single > characters from my list when i print random elements using random.choice the > elements in the list are not single characters for example when i print, > print(LIST[random.choice]) i get: > ["e", "x", "a", "m", "p", "l", "e"] when i should get ["example"]. > > my code is: > #Create a program that prints a list of words in random order. > #The program should print all the words and not repeat any. > > import random > > LIST = ["blue ", "red ", "yellow ", "green ", "orange "] > order = [] > > print("This game will print a random order of colours") > print("The list is", LIST) > input("press enter to start") > > > > while LIST != []: > choice = random.choice(LIST) > order += choice > while choice in LIST: > LIST.remove(choice) > print(order) > > > > input("press enter to exit") > > thanks in advance guys
You could just shuffle the list first, then loop through it. This will guarantee that each color is only used once. import random LIST = ["blue ", "red ", "yellow ", "green ", "orange "] random.shuffle(LIST) for color in LIST: print(color) # or add to order or whatever you need to -- https://mail.python.org/mailman/listinfo/python-list