Build an RPG Character - Build an RPG Character

Tell us what’s happening:

I can successfully trigger each step except 5 once I attempt to return ‘create_character’, however when I create any bit of code that ticks the box for step 5, every subsequent step fails for some reason. Tips would be appreciated!

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'
    
    elif name == '':
            return 'The character should have a name'

    elif len(name) > 10:
        return 'The character name is too long'
    
    if ' ' in name:
        return 'The character name should not contain spaces'
    
    elif name >= 1 or name <= 10:
        return ''

    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'
    sum_stats = strength + intelligence + charisma
    
    if sum_stats != 7:
        return 'The character should start with 7 points'


 
                          

    



Your browser information:

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

Challenge Information:

Build an RPG Character - Build an RPG Character

You have a line elif name >= 1 or name <= 10: that doesn’t make sense because you’re comparing a name (text) to numbers, and it’s causing your function to return early before checking the stats - just delete that line and make sure all your if statements for checking stats come after the name checks.

1 Like

Thanks I see that now, forgot to implement len to that command but I just removed it.

I had a line

elif len(name) > 10:
        return 'The character name is too long'
else:
     return ''

I removed return '' and everything was ticked off as working, just gotta use the dots now.
Thanks for pointing my wacky code out!

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.