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

It’s against forum rules to just hand someone a solution.

But if you would like help, please create your own topic when you have specific questions about your own challenge code. Only respond to another thread when you want to provide help to the original poster of the other thread or have follow up questions concerning other replies given to the original poster.

The easiest way to create a topic for help with your own solution is to click the Ask for Help button located on each challenge. This will automatically import your code in a readable format and pull in the challenge url while still allowing you to ask any question about the challenge or your code.

Thank you.

actually i got the solution