Build an RPG Character - Build an RPG Character

Tell us what’s happening:

My code does not pass 2-4, 6-8, and 10. I cannot figure out what is wrong other than it is not outputting exactly as freeCodeCamp wants it to be.

Your code so far

full_dot = '●'
empty_dot = '○'

def create_character(name, strength, intelligence, charisma):
    if not isinstance(name, str): #Checks if name is not a string
        return 'The character name should be a string.'
    
    if name == '':#Checks if name is not empty
        return 'The character should have a name.'
    
    if len(name) > 10:#Checks if name is longer than 10 characters
        return 'The character name is too long.'
    
    if any(char.isspace() for char in name):#
        return 'The character name should not contain spaces.'
    
    #Validating stats
    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 + intelligence + charisma > 7:
        return 'The character should start with 7 points.'
    return f"{name}\nSTR {full_dot * strength}{empty_dot * (10 - strength)}\nINT {full_dot * intelligence}{empty_dot * (10 - intelligence)}\nCHA {full_dot * charisma}{empty_dot * (10 - charisma)}"

print(create_character("Hero", 3, 2, 2))

Your browser information:

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

Challenge Information:

Build an RPG Character - Build an RPG Character

Here are some debugging steps you can follow. Focus on one test at a time:

  1. Are there any errors or messages in the console?
  2. What is the requirement of the failing test?
  3. Check the related User Story and ensure it’s followed precisely.
  4. What line of code implements this?
  5. What is the result of the code and does it match the requirement? (Write the value of a variable to the console at that point in the code if needed.)

If this does not help you solve the problem, please reply with answers to these questions.

SOLVED - It didn’t like I was adding periods to the end of the return statements when conditions were not met. So it was purely a formatting issue the site was checking for.

1 Like

Watch out for the highlighted text. You can see the periods at the end of the instructions isn’t highlighted, so it shouldn’t be included

Glad you solved it!