Tell us what’s happening:
full_dot = ‘●’
empty_dot = ‘○’
def create_character(name, strength, intelligence, charisma):
# — Name validation —
if not isinstance(name, str):
return ‘The character name should be a string’
# New rule: empty string name
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 validation
Your code so far
full_dot = '●'
empty_dot = '○'
def create_character(name, strength, intelligence, charisma):
# --- Name validation ---
if not isinstance(name, str):
return 'The character name should be a string'
# New rule: empty string name
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 validation (ordered as STR, INT, CHA) ---
ordered_stats = [('STR', strength), ('INT', intelligence), ('CHA', charisma)]
# Type check
for _, stat in ordered_stats:
if not isinstance(stat, int):
return 'All stats should be integers'
# Range checks
for _, stat in ordered_stats:
if stat < 1:
return 'All stats should be no less than 1'
for _, stat in ordered_stats:
if stat > 4:
return 'All stats should be no more than 4'
# Sum check (must be exactly 7)
if sum(stat for _, stat in ordered_stats) != 7:
return 'The character should start with 7 points'
# --- Build output (exact order: STR, INT, CHA) ---
character_string = name
for key, stat in ordered_stats:
character_string += f'\n{key} {full_dot * stat}{empty_dot * (10 - stat)}'
return character_string
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Challenge Information:
Build an RPG Character - Build an RPG Character