Michael Lewis wrote: > I am trying to repeat a certain sequence in a range if a certain even > occurs. Forgive me for not pasting my code; but I am not at the machine > where it's saved. > > Basically, I want to get user input and append that input to a list only > if the input is not already in the list. I want to do this x amount of > times, but if the user input is already in the list, then I want to repeat > that step in range(x). > > At the prompt, I want to ask the user for: > > Name 1: > Name 2: > Name 3: > etc.... > but if the user input for Name 3 was the same as the user input for Name > 2, then I want to ask the user again for Name 3 instead of continuing to > Name 4. > > How can I do this?
Well, you are describing the algorithm pretty clearly: keep asking for a name until the user enters a name that is not in the list of names already. Here's a straightforward implementation: >>> names = [] >>> for i in range(1, 4): ... while True: ... name = raw_input("Name %d: " % i) ... if name not in names: ... names.append(name) ... break ... print "Name %r already taken" % name ... Name 1: Jack Name 2: Jack Name 'Jack' already taken Name 2: Jack Name 'Jack' already taken Name 2: Jim Name 3: Jack Name 'Jack' already taken Name 3: Jim Name 'Jim' already taken Name 3: Joe >>> names ['Jack', 'Jim', 'Joe'] _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor