Build an RPG Character - Build an RPG Character

Tell us what’s happening:

Test 18 “create_character(‘ren’, 4, 2, 1) should return ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○.” is failing. I’ve tried to look at other people’s solutions but they’re using things like dictionaries, which haven’t been covered in the python course up to this lab yet, so it seems ridiculous if the solution is something we shouldn’t have learned yet. Am I missing something?

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'
    if any(not isinstance(stat, int) for stat in [strength, intelligence, charisma]):
        return 'All stats should be integers'
    if any(stat < 1 for stat in [strength, intelligence, charisma]):
        return 'All stats should be no less than 1'
    if any(stat > 4 for stat in [strength, intelligence, charisma]):
        return 'All stats should be no more than 4'
    if (strength + intelligence + charisma) != 7:
        return 'The character should start with 7 points'
    
    return (
        f'{name} \nSTR: {full_dot * strength}{empty_dot * (10 - strength)}'
        f'\nINT: {full_dot * intelligence}{empty_dot * (10 - intelligence)}'
        f'\nCHA: {full_dot * charisma}{empty_dot * (10 - charisma)}'
        )

Your browser information:

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

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

Welcome to the forum @reskai,

You can compare what your code is returning to what is expected by testing like this:

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

Happy coding

Ahh I added extra characters to the string, got it now. Thank you!