Build an RPG Character - Build an RPG Character

Tell us what’s happening:

It says “You should have a function named create_character.”

Your code so far

full_dot = '●'
empty_dot = '○'
def create_character(name, strength, intelligence, charisma):
    if not isinstance(name, str):
        return "The character name should be a string"
    if name == '':
        return "The character should have a name"
    if len(name) > 10:
        return "The character name is too long"
    if ' ' in name:
        return "The character name should not contain spaces" 
    stats_list = [strength, intelligence, charisma]
    for stat in stats_list:
        if not any(isinstance(stat, int)): 
            return 'All stats should be integers'
        if any(stat<1):
            return 'All stats should be no less than one'
        if any(stat > 4):
            return 'All stats should be no more than 4'
        if sum(stats_list) != 7:
            return 'The character should start with 7 points'
    def get_dots(values):
        full_dots = "●" * value
        empty_dots = "○" * (10 - value)
        return full_dots + empty_dots
    line1= name
    line2= f"STR {get_dots(strength)}"
    line3=f"INT {get_dots(intelligence)}"
    line4=f'CHA {get_dots(charisma)}'
    return f"{line1}\n{line2}\n{line3}\n{line4}"

print(create_character('ren', 4, 2, 1))


    





Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:150.0) Gecko/20100101 Firefox/150.0

Challenge Information:

Build an RPG Character - Build an RPG Character

Hi @ldnn30,

I’m seeing this error in the console:

Traceback (most recent call last):
  File "main.py", line 32, in <module>
  File "main.py", line 14, in create_character
TypeError: 'bool' object is not iterable

Happy coding!

it’s coming from this line, isinstance returns a boolean value, any expects an iterable (like a list)

try deleting the any