Reproduce random.choice() challenge generating a NameError
I'm getting "NameError: name 'random_item' is not defined." I'm not sure why.
# EXAMPLE # random_item("Treehouse") # The randomly selected number is 4. # The return value would be "h" import random str = "Kate" def random_item(str): return str[random.randomint(0, len(items) -1)]
Dan Garrison22,438 Points
There are 3 main issues I can see.
- Indentation issue. There is an extra indent on your return
- Your randint method is misspelled. It should be randint not randomint.
- You are doing the len(items). It should be len(str) since you are checking the length of the argument provided in the function
Also, a word of caution on using str as a variable name or an argument. str() is a builtin function used to turn values into strings. Depending on how it is used, it could create odd behavior or even make things a little confusing when developers see it used in other places.