Build an RPG Character - Build an RPG Character

Tell us what’s happening:

It’s not letting me pass test 11 and 12, but my code does give the desired result.

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 = [strength, intelligence, charisma]
    for stat in stats:
        if not(isinstance (stat, int)):
            return ("All stats should be integers")
    if any(stat < 1 for stat in stats):
        return ("All stats should be no less than 1")
    if any (stat > 4 for stat in stats):
        return ("All stats should be no more than 4")
    if sum(stats) != 7:
        return ("The character should start with 7 points")

    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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15

Challenge Information:

Build an RPG Character - Build an RPG Character

What are 11 and 12?

How have you verified that every single character matches the required output, down to every space and newline?

11 and 12 are

  • create_character('ren', 4, 2, 1) should return ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○.

  • When create_character is called with valid values it should output the character stats as required.

and when I run my code for (‘ren’, 4, 2, 1), it does return

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

And how have you verified that every space and newline is exactly as required?

I tried different inputs and they all work, I also printed out ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○ to compare it with my answer but they look the same. I’m not sure what I did wrong.

How did you verify that every single newline is exactly where it should be? They are invisible to the eye so you have to do something to her than just look.

oh what should I do then

When I’m writing a line
of text, how can you tell that I added a newline?

because its on a different line

Ok. What if you put something immediately after the string the function returns and print that out and see if it’s on the same line or not?

1 Like

oh wait I got it I didn’t see the \n at the end. thank you!

3 Likes