Tell us what’s happening:
I can’t understand why it works on 4 and not on 5.
4. When create_character is called with a first argument that is longer than 10 characters it should return The character name is too long.
5. The create_character function should not say that the character is too long when it’s not longer than 10 characters.
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"
# it's here
if len(name) > 10:
return "The character name is too long"
# It pass the step 4 and not the step 5..
if ' ' in name:
return "The character name should not contain spaces"
stats = [strenght,intelligence,charisma]
if not all(isinstance(s,int) for s in stats):
return "All stats should be integers"
if min(stats) < 1:
return "All stats should be no less than 1"
if max(stats) > 4:
return "All stats should be no more than 4"
if sum(stats) != 7:
return "The character should start with 7 points"
return f"{name} \nSTR {strength*full_dot}{(10-strength)*empty_dot} \nINT {intelligence*full_dot}{(10-intelligence)*empty_dot} \nCHA {charisma*full_dot}{(10-charisma)*empty_dot}"
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