I am getting an error in my code at ‘The character name should have a name’ step. I viewed the forums, but they shows I have it correct.
def create_character(name, strength, intelligence, charisma):
if not isinstance (name, str):
return ‘The character name should be a string’
if isinstance (name, str):
return
if name == “”:
return ‘The character should have a name’
I managed to get to test step 18 and 19. I am able to tell it to print with no errors , but unable to change it to return as the instructions suggest. I performed the testing of print(repr(create_character(‘ren’, 4, 2, 1))) the result was the finished result with the word None. Is there something I am missing?
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'
if not isinstance(strength, int) or not isinstance(intelligence, int) or not isinstance(charisma, int):
return 'All stats should be integers'
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'
if not strength + intelligence + charisma == 7:
return 'The character should start with 7 points'
else:
print(f'{name}\nSTR {full_dot * strength}{empty_dot * (10 - strength)}\nINT {full_dot * intelligence}{empty_dot * (10 - intelligence)}\nCHA {full_dot * charisma}{empty_dot * (10 - charisma)}')
create_character('ren', 4, 2, 1)