Build an RPG Character - Build an RPG Character

Tell us what’s happening:

Please give me guidences.
I finally printed out as the result, but I still stuck at steps 18 and 19:
18. create_character(‘ren’, 4, 2, 1) should return ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○.
19. When create_character is called with valid values it should output the character stats as required.

Your code so far

full_dot = '●'
empty_dot = '○'
def create_character(name,strength,intelligence,charisma):
    # Name requirements:
    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 name.find(' ')>=1:
        return 'The character name should not contain spaces'

    #stats requirements:
    if not isinstance(strength,int) or not isinstance(intelligence,int) or not isinstance(charisma,int):
        return 'All stats should be integers'
    for x in (strength, intelligence,charisma):
        if x < 1:
            return 'All stats should be no less than 1'
        if x > 4:
            return 'All stats should be no more than 4'
        if (strength + intelligence + charisma)!=7:
            return 'The character should start with 7 points'
    
    #make dots
    def create_dot(x):
        return full_dot*x+empty_dot*(10-x)

    #output
    return  f'{name}\nSTR {create_dot(strength)}\nINT {create_dot(intelligence)}\nCHA {create_dot(charisma)}\n'

create_character('ren', 4, 2, 1)
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/146.0.0.0 Safari/537.36 Edg/146.0.0.0

Challenge Information:

Build an RPG Character - Build an RPG Character

Hello @cuongka

Your string is not formated correctly, you’re not supposed to have \n at the end of your string, as indicated at test 18.

Simply remove it from the string and you should pass all the tests with no problem.

Happy coding :slight_smile:

@N4ger0, can you think of another way you could have guided this user to discover the issue on their own rather than flat out telling them what is wrong with their code? If it’s something simple like a typo, no problem, but something like this poses an opportunity to teach debugging techniques. :slight_smile:

ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○

the test is expecting this string exaxtly to be returned in the console and you are returning this

"ren
STR ●●●●○○○○○○
INT ●●○○○○○○○○
CHA ●○○○○○○○○○

"
Can you think of another way to format this so that you return what they are expecting to be shown in the terminal?

Thank you my friends, I solved it, I forgot \n at the end . Love you.

Oh man, how can I miss it, thanks for your instruction my friend.

1 Like