Build an RPG Character - Build an RPG Character

Tell us what’s happening:

I have been able to pass all test except 11 and 12.
At first glance it looks I am to achieve the desired outcome. However, I am unable to validate test 11 and 12. There is a detail that I am overlooking missing somewhere. Looking for a second pair of eyes to take look.

Your code so far

full_dot = '●'
empty_dot = '○'

def create_character(name, STR, INT, CHA):
    if not isinstance(name, str):
        return 'The character name should be a string'
    if not 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'
    if not isinstance(STR,int) or not isinstance(INT,int) or not isinstance(CHA,int):
        return 'All stats should be integers'
    if STR<1 or INT<1 or CHA<1:
        return 'All stats should be no less than 1'
    if STR>4 or INT>4 or CHA>4:
        return 'All stats should be no more than 4'
    if STR+INT+CHA != 7:
        return 'The character should start with 7 points'
    return (f'{name}\n'\
    f'STR{full_dot*STR}{empty_dot*(10-STR)}\n'\
    f'INT{full_dot*INT}{empty_dot*(10-INT)}\n'\
    f'CHA{full_dot*CHA}{empty_dot*(10-CHA)}\n')
    
print(create_character('ren',4,2,1))



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

Check the spacing of your output

Okay. Here is the small adjustment I made:

Still no validation on 11 and 12. Bit lost in the sauce on this one haha

What does your output look like?

Please post copy/pasted text/code and not a screenshot.

Look carefully at the output here, especially in regard to the newlines

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

full_dot = ‘●’

empty_dot = ‘○’

def create_character(name, STR, INT, CHA):

if not isinstance(name, str):

    return 'The character name should be a string'

if not 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'

if not isinstance(STR,int) or not isinstance(INT,int) or not isinstance(CHA,int):

    return 'All stats should be integers'

if STR<1 or INT<1 or CHA<1:

    return 'All stats should be no less than 1'

if STR>4 or INT>4 or CHA>4:

    return 'All stats should be no more than 4'

if STR+INT+CHA != 7:

    return 'The character should start with 7 points'

return (f'{name}\\n'\\

f'STR {full_dot\*STR}{empty_dot\*(10-STR)}\\n'\\

f'INT {full_dot\*INT}{empty_dot\*(10-INT)}\\n'\\

f'CHA {full_dot\*CHA}{empty_dot\*(10-CHA)}\\n')

print(create_character(‘ren’, 4, 2, 1))

Look carefully at the output here, especially in regard to the newlines

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

Thank you for the help! After a few more moments we finally have a validation on all 12 task!:tada:

1 Like