Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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: