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

Caleb Pitts
Caleb Pitts
967 Points

Problem with random. code

What am I doing wrong here? I'm supposed to return the random character associated with its index.

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

def random_item(iterable):
    chosen = random.randint(0,(len(iterable)-1))
    return chosen
def random_item(iterable):
    return iterable[len(iterable)-1]

The challenge wants you to make the index the random number- that is why I used square brackets in there.

1 Answer

I am very proud of you that you got that far. the problem is very minor but very important, too. Your 'chosen' variable is always going to be a index, not an element in the list, so the thing missing is to get the element (from iterable) with your index. Try this (yes, yes, I got rid of the chosen variable)

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

def random_item(iterable):
    return iterable[random.randint(0, len(iterable) - 1)]

Hope that help you out :smile: