Build an RPG Character - Build an RPG Character

Tell us what’s happening:

I can’t understand why it works on 4 and not on 5.
4. When create_character is called with a first argument that is longer than 10 characters it should return The character name is too long.
5. The create_character function should not say that the character is too long when it’s not longer than 10 characters.

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" 
# it's here
    if len(name) > 10:
        return "The character name is too long"
# It pass the step 4 and not the step 5..
    if ' ' in name:
        return "The character name should not contain spaces"
    stats = [strenght,intelligence,charisma]
    if not all(isinstance(s,int) for s in stats):
        return "All stats should be integers"
    if min(stats) < 1:
        return "All stats should be no less than 1"
    if max(stats) > 4:
        return "All stats should be no more than 4"
    if sum(stats) != 7:
        return "The character should start with 7 points"
    return  f"{name} \nSTR {strength*full_dot}{(10-strength)*empty_dot} \nINT {intelligence*full_dot}{(10-intelligence)*empty_dot} \nCHA {charisma*full_dot}{(10-charisma)*empty_dot}"

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

Should you be printing or returning?

I did this mistake before, i should chage it to the end of the function… but the step that is not goint throught is in the line before that…

A direct quote from @pkdvalis: "The tests are simple tests, and cannot account for every variation they encounter. Do not try to code based only on the tests.

If a test is failing, you need to check that the User Stories are implemented correctly."

The validation step for “name too long” is fine. But you have other issues that need to be fixed. Start with making sure you are returning, not printing.

2 Likes

I did everything that i could and there should be nothing more, but i still can’t fufill the fifth step.. in the console also shows an error “5. Your code raised an error before any tests could run. Please fix it and try again.”

Try opening up your browser’s console to see the error that was raised.

try calling the function, you will see the error in the terminal

post your updated code for more help

Found it….. Typo in the stats list declaration “Strenght”… Thank you

1 Like

please say that you have updated your original post if you are doing so, or preferrabily, post your updated code in a new post

1 Like