Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Python Basics (2015) Letter Game App Random Item

Didier Borel
Didier Borel
2,837 Points

return an index value

can someone tell me what I am doing wrong. thxs

item.py
# EXAMPLE
# random_item("Treehouse")
# The randomly selected number is 4.
# The return value would be "h"
import random
def random_item(argument):
    random.randint(0,len(argument))-1
return index (random_item(argument))

1 Answer

Great job! :thumbsup: There are many errors, though. These ar all the errors I can count:

  • The random.randint's first argument should be 1, not 0.
  • There is no such function called "index", you get indexes like this:
# Get the first index
some_list[0]
  • Assign the index to a variable so that you can use it later
  • Don't call the random_item function inside the random_item function, or it will be recursive

You should end up like this:

# EXAMPLE
# random_item("Treehouse")
# The randomly selected number is 4.
# The return value would be "h"

import random

def random_item(my_list):
    random_index = random.randint(1, len(my_list)) - 1
    return my_list[random_index]

Hope that helps! :dizzy: