Build an RPG Character - Build an RPG Character

Tell us what’s happening:

why this two last part is not passing 11. create_character(‘ren’, 4, 2, 1) should return ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○.
Failed:12. When create_character is called with valid values it should output the character stats as required

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"
    stat_names = ["STR","INT","CHA"]
    output = name + "\n"
    for stat_name, stat_value in zip(stat_names, stats):
        full_dot = '●'*stat_value
        empty_dot = '○'*(10 - stat_value)
        output += f"{stat_name}  {full_dot}{empty_dot}\n"
    return output
create_character('ren', 4, 2, 1)
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/145.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

write this so you can compare your output and the expected string directly:

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

the only difference is my code has \n at the end. can you please show me how to eliminate it?

I see also some space differences, not only the \n

there are different ways in which you could eliminate the \n at the end, what would you try?

using concatenation instead of interpolation in my output +=

how would that make a difference in having the \n at the end or not?

can you please tell me what to do?

I can’t give you a solution

there are two approaches you can consider

  • do not add the \n at the end
  • remove the \n before returning