Build an RPG Character - Stuck on final two steps

Tell us what’s happening:

Relatively new to Python and I’m self teaching. Believe the code I’ve written for ‘Build an RPG character’ works and is correct, but won’t pass the final two steps. calling the function with the set character details displays the name, stats and abbreviations correctly, including if i change the details around within the paramaters (e.g. changing the stats around while still being > 0, < 5 and adding up to 7. Pls help

Your code so far

full_dot = '●'
empty_dot = '○'

# create function

def create_character(name, strength, intelligence, charisma):

# validate character name and stats

    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'

    stats = [strength, intelligence, charisma]
    
    for s in stats:
        prev = 0
        if not isinstance(s, int):
            return 'All stats should be integers'
        if s < 1:
            return 'All stats should be no less than 1'
        if s > 4:
            return 'All stats should be no more than 4'
    sumstats = strength + intelligence + charisma
    if sumstats !=7:
        return 'The character should start with 7 points'
    def bars(stat):
        return full_dot * stat + empty_dot * (10 - stat)
    print(f"{name}\nSTR {bars(strength)}\nINT {bars(intelligence)}\nCHA {bars(charisma)}")

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/143.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

adding to this to say that I’ve tried adding a print command when calling the function, and all appropriate arguments seem to return the correct result, and arguments that make the stats outside what’s requested return the correct wording explaining

which is the line that returns the final string?

1 Like

just looked and seen i’d only called a print function and not returned it - amended it to return the f string and that’s now worked - thank you!

1 Like

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