Tell us what’s happening:
Hi everyone,
I’m working on the Python RPG Character Lab where I need to create a function create_character(name, strength, intelligence, charisma). While my function passes some tests like returning the correct output for valid inputs, it’s failing multiple validation checks related to input handling.
Here’s what’s failing according to the lab feedback:
When the first argument (name) is not a string, it should return “The character name should be a string”.
When the name is an empty string,
Your code so far
full_dot = '●'
empty_dot = '○'
def create_character(name, strength, intelligence, charisma):
# Validate name
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.'
# Validate stats type
if (not isinstance(strength, int) or
not isinstance(intelligence, int) or
not isinstance(charisma, int)):
return 'All stats should be integers.'
# Validate stats range
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.'
# Validate total points
if strength + intelligence + charisma != 7:
return 'The character should start with 7 points.'
# Final formatted output
return (
name + "\n" +
"STR " + full_dot * strength + empty_dot * (10 - strength) + "\n" +
"INT " + full_dot * intelligence + empty_dot * (10 - intelligence) + "\n" +
"CHA " + full_dot * charisma + empty_dot * (10 - charisma)
)
print(create_character('ren'))
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
Challenge Information:
Build an RPG character - Build an RPG Character