# Build an RPG Character - Build an RPG Character

**URL:** <https://forum.freecodecamp.org/t/build-an-rpg-character-build-an-rpg-character/776710>\
**Category:** Curriculum Help\
**Tags:** python\
**Created:** [February 3, 2026, 8:10am UTC](https://forum.freecodecamp.org/t/build-an-rpg-character-build-an-rpg-character/776710 "2026-02-03T08:10:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![shakoavaliani4](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/shakoavaliani4/32/379162_2.png) [@shakoavaliani4](https://forum.freecodecamp.org/u/shakoavaliani4)\
**Post date:** [February 3, 2026, 8:10am UTC](https://forum.freecodecamp.org/t/build-an-rpg-character-build-an-rpg-character/776710/1 "2026-02-03T08:10:41Z")

</div>

### Tell us what’s happening:

this code fails at 11 and 12 th testy can someone tell me why?

### Your code so far

```py
full_dot = '●'
empty_dot = '○'
def create_character(character_name,strength,intelligence,charisma):
    if not isinstance(character_name,str):
        return "The character name should be a string"
    if character_name == "":
        return "The character should have a name"
    if len(character_name) > 10:
        return "The character name is too long"
    if " " in character_name:
        return "The character name should not contain spaces"
    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"
    if strength + intelligence + charisma != 7:
        return "The character should start with 7 points"
    return (
        f"{character_name}\n"
        f"STR {full_dot * strength}{empty_dot * (10 - strength)}\n"
        f"CHA {full_dot * charisma}{empty_dot * (10 - charisma)}\n"
        f"INT {full_dot * intelligence}{empty_dot * (10 - intelligence)}"
    )
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

> **[freeCodeCamp.org](https://www.freecodecamp.org/learn/python-v9/lab-rpg-character/build-an-rpg-character)**
>
> Learn to Code — For Free

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [February 3, 2026, 8:40am UTC](https://forum.freecodecamp.org/t/build-an-rpg-character-build-an-rpg-character/776710/2 "2026-02-03T08:40:29Z")

</div>

it’s saying

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

So you can add these two lines below your function to confront your output with the expected output:

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

```

notice the differences, and update your output

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/freecodecamp/original/3X/e/1/e1c433102e34b46dfaa3e15d13ab9a514b127078.svg) [@system](https://forum.freecodecamp.org/u/system)\
**Post date:** [March 3, 2026, 8:41am UTC](https://forum.freecodecamp.org/t/build-an-rpg-character-build-an-rpg-character/776710/3 "2026-03-03T08:41:18Z")

</div>

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