Tell us what’s happening:
I’m stuck on one test for the create_character function.
When the name is an empty string (“”), the function should return:
The character should have a name.
I’m already checking name == “” and the message matches exactly, but the test still fails.
Any idea what I might be missing?
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 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 = {'STR':strength, 'INT':intelligence, 'CHA':charisma}
for stat in stats.values():
if not isinstance(stat, int):
return 'All stats should be integers'
for stat in stats.values():
if stat < 1:
return 'All stats should be no less than 1'
for stat in stats.values():
if stat > 4:
return 'All stats should be no more than 4'
if sum(stats.values()) != 7:
return 'The character should start with 7 points'
character_string = name
for key, stat in stats.items():
character_string += f'\n{key} {full_dot*stat}{empty_dot*(10-stat)}'
return character_string
# ============ TESTS =========================
print(create_character("ren", 2, 4, 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