Build an RPG Character - Build an RPG Character

Tell us what’s happening:

Am I missing something? Because 11 and 12 won’t pass, eventhough the output in the console matches as supposed to, as far as I can tell.

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'

    if not all(isinstance(stat, int) for stat in [strength, intelligence, charisma]):
        return 'All stats should be integers'

    stat_all = int(strength) + int(intelligence) + int(charisma)


    if any(stat < 1 for stat in [strength, intelligence, charisma]):
        return 'All stats should be no less than 1'

    if any(stat > 4 for stat in [strength, intelligence, charisma]):
        return 'All stats should be no more than 4'
    
    if not stat_all == 7:
        return'The character should start with 7 points'

    stats = {'STR': strength, 'INT': intelligence, 'CHA': charisma}
    answer = name 
    for key, stat in stats.items():
        answer += f' \n{key} {full_dot*stat}{empty_dot*(10-stat)}'
    return answer

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/142.0.0.0 Safari/537.36 OPR/126.0.0.0

Challenge Information:

Build an RPG Character - Build an RPG Character

try to compare using repr like this:

print(repr(create_character('ren', 4, 2, 1)))
print(repr('ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○'))

you will see in the first line in the terminal the output from your function and in the second the expected output

1 Like