Build an RPG Character - Build an RPG Character

Tell us what’s happening:

the final part with the full dots isnt working. Where am I going wrong?

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'
    elif not name:
        return 'The character should have a name'
    elif len(name) > 10:
        return 'The character name is too long'
    elif " " in name:
        return 'The character name should not contain spaces'
    elif (not isinstance(strength, int) or not isinstance(intelligence, int) or not isinstance(charisma, int)):
        return 'All stats should be integers'
    elif (strength < 1) or (intelligence < 1) or (charisma < 1):
        return 'All stats should be no less than 1'
    elif (strength > 4) or (intelligence > 4) or (charisma > 4):
        return 'All stats should be no more than 4'
    elif (strength + intelligence + charisma) != 7:
        return 'The character should start with 7 points'
    else:
        return f'{name}\n'
        f'STR {full_dot * strength}{empty_dot * (10 - strength)}\n'
        f'INT {full_dot * intelligence}{empty_dot * (10 - intelligence)}\n'
        f'CHA {full_dot * charisma}{empty_dot * (10 - charisma)}\n'

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

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

GitHub Link: freeCodeCamp/curriculum/challenges/english/blocks/lab-rpg-character/67d83df6f82eda3868dd2a84.md at main · freeCodeCamp/freeCodeCamp · GitHub

this is all you are returning, the lines below are noty part of the return

yes but how do I fix it to return the rest?

you may want to review how to concatenate a string

else:

    name = f'{name}\\n'

    STR = f'STR {full_dot \* strength}{empty_dot \* (10 - strength)}\\n'

    INT = f'INT {full_dot \* intelligence}{empty_dot \* (10 - intelligence)}\\n' 

    CHA = f'CHA {full_dot \* charisma}{empty_dot \* (10 - charisma)}\\n'

    

    return name + STR  + INT + CHA

Why is it still giving me an error message when the answer comes out correctly

Try calling your function like this to compare actual to expected:

print('Actual:   ',repr(create_character('ren', 4, 2, 1))) 
print('Expected: ',repr('ren\\nSTR ●●●●○○○○○○\\nINT ●●○○○○○○○○\\nCHA ●○○○○○○○○○'))