Build an RPG Character - Build an RPG Character

Tell us what’s happening:

create-character returns wrong output for test 12. My create-character function works for the example input ‘ren’, 4, 2, 1, but it fails FCC test 12. The function returns a hard-coded string instead of dynamically generating the character sheet based on the name and stat values. However, it fails test 12 because the function currently returns a hard-coded string instead of dynamically generating the character sheet based on the name and stat values passed to the test fails in level 12 FC

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'
    
    stats = (strength, intelligence, charisma)
    if not all(isinstance(stat, int) for stat in stats):
        return 'All stats should be integers'
    if not all(stat >= 1 for stat in stats):
        return 'All stats should be no less than 1'
    if not all(stat <= 4 for stat in stats):
        return 'All stats should be no more than 4'
    if sum(stats) != 7:
        return 'The character should start with 7 points'

    return 'ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○'
result = create_character('bob', 3, 2, 1)
print(result)

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 Edg/143.0.0.0

Challenge Information:

Build an RPG Character - Build an RPG Character

You are hard coding the result returned by your function, so it will always return the same thing no matter what arguments are passed in when it is called. To make the function dynamic, please replace hard-coded values with the function’s parameters.

Line 23: return ‘ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○’

You’ve written what it want’s the displayed output to generate, but you wrote the literal copy-pasted answer. Remove this.

What you want is a way to calculate the dots in your return statement. Instead of following along on the test steps at the bottom, follow the user stories. What the project is wanting you to do is to find a way to display the dots based on the values given in your create_character function.

For example, you are returning the string

“{name}\n

STR”

and after STR, you want it to show strength number of solid dots and 10-strength empty dots. Find a way to do that for each stat value, so you get the whole string returned for any combination of name and stat numbers.

Also, for your ‘bob’ character… your stat total is 6, so its not going to return your final string. Try (‘bob’, 4, 2, 1) and check the output. It will tell you where the error is.

Hope this helps. I was stuck on this forever myself.