[Tutor] Trying to access a random value in a list
Nick W
pacificmorrowind at gmail.com
Fri Jan 13 00:56:32 CET 2012
first problem: easy fix just remember that len() returns the actual
number of items in the list but that list is indexed starting at 0 so
just replace your line of
pick = len(names)
with:
pick = len(names) - 1
and for problem #2:
just use string formating... like for example instead of:
print (names[win_number], " is the winner!")
try something along the lines of:
print("{} is a winner".format(names[win_number]))
HTH
Pacific Morrowind
On 1/12/12, Claude Matherne <cmathe7 at gmail.com> 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.
> 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'm sur I am over thinking this, but any help would be great.
>
> Thanks
>
More information about the Tutor
mailing list