On 1/12/2012 5:48 PM, Claude Matherne wrote:
Hello all,
I am a beginner to python and I am trying to make a simple program that takes in some names as input into a list and then randomly picks a vaule from that list as a winner.
Here is the code:
import random
choice = None
names = [ ]
while choice != "0":
    print(
        """
        0 - Exit
        1 - Enter a name
        2 - Pick a winner
        """)
    choice = input("Choice: ")
    print()
    if choice == "0":
        print ("Goodbye.")
    elif choice == "1":
        name = input("Please enter a name: ")
        names.append(name)
        print (names, "have been entered.")
    elif choice == "2":
        pick = len(names)
        win_number =random.randint(0,pick)
        print (names[win_number], " is the winner!")
input("/n/nPress enter to exit.")
First problem, sometimes I get a error where the value is out of range. Problem becuase of the way I set up the random value.
randint returns random integer in range [a, b], including both end points. List indexes start at 0. Sufficient?

Second problem, but not a big one, is when I print the lists of names as they are entered, I get quotations around the name.
I bet you are seeing something like ['joe', pete'] since you are printing a list. true? In general copy and paste the undesired output in the email. Try print(','.join(names)

--
Bob Gailer
919-636-4239
Chapel Hill NC

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to