Build an RPG Character - Build an RPG Character

Tell us what’s happening:

For some reason the code already starts to fail the 4th test, even tho it does what it should. It also fails many more tests and I don’t know why-

Your code so far

full_dot = '●'
empty_dot = '○'

def create_character(character_name, strength, intelligence, charisma):
    if not isinstance(character_name, str):
        return "The character name should be a string"
    if character_name is "":
        return "The character should have a name."
    if len(character_name) > 10:
        return "The character name is too long."
    if " " in character_name:
        return "The character name should not contain spaces."
    if not isinstance(strength, int) or not isinstance(intelligence, int) or not isinstance(charisma, int):
        return "All stats should be integers."
    if strength <1 or intelligence <1 or charisma < 1:
        return "All stats should be no less than 1."
    if strength >4 or intelligence >4 or charisma >4:
        return "All stats should be no more than 4."
    if strength + intelligence + charisma != 7:
        return "The character should start with 7 points."
    else:
        return(f"{character_name} \n STR {full_dot*strength}{empty_dot*(10-strength)}\n INT {full_dot*intelligence}{empty_dot*(10-intelligence)}\n CHA {full_dot*charisma}{empty_dot*(10-charisma)}")
print(create_character("ren", 1, 2, 4))

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 @Havvkan,

The messages you are returning sometimes contain punctuation. Aren’t those the ones with failing tests?

Does your final string look exactly like what is in the instructions? Check your spacing. Do the rows align?

You can test like this to see your spacing and line breaks better:

print(repr(create_character("ren", 4, 2, 1)))

then compare what prints in the console to what Test #18 says you should be returning.

Happy coding

Remove periods in sentences and remove spaces between and after \n in the output line

Most of the tests are successful now, except for the test 4" “When create_character is called with a first argument that is an empty string, it should return The character should have a name.”

When i use print(create_character(’ ', 4, 2, 1)) however, the console gives me the correct output.

It’s probably because you used is to test equality of a literal.