Build an RPG Character - Build an RPG Character

Tell us what’s happening:

How to write this test 7, what this problem in the code that I have wrote? Anyone explain me?
The code should fulfil: 7. When create_character is called with a second, third or fourth argument that is not an integer it should return All stats should be integers.

Your code so far

full_dot = '●'
empty_dot = '○'

def create_character(name, strength, intelligence, charisma):

    #name
    if not isinstance(name, str):
        return 'The character name should be a string'
    if len(name) == 0:
        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   
    if not isinstance(strength, int) and not isinstance(intelligence, int) and not isinstance(charisma, int):
         return 'All stats should be integers'

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

You are assuming where your issue is, instead test it, add print(create_character('ren', '', 2, 3)) and see what is being returned by your function. The issue is not where you are assuming

print(create_character(‘ren’, 4, 2, 1)) shows ‘The character name should not contain spaces’ in the console.

It shows ‘The character name should not contain spaces’

yeah, can you figure out where does that come from?

But does the name passed to create_character contain spaces??

How? but the name doesn’t have any spaces

isn’t that the issue? check carefully your condition

got it, I missed space

when you are stuck, it’s always useful to use print() to see the value of things

1 Like

Also it should be or not and

good job! you figured it out on your own

1 Like

Tell us what’s happening:

What is the issue here? It prints the value that needed then what is the problem?

Your code so far

def create_character(name, strength, intelligence, charisma):
    if not isinstance(name, str):
        return 'The character name should be a string'
    if len(name) == 0:
        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   
    
    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'

    #printing spots

    def stat_spots(value):
       return '●' * value + '○' * (10 - value)

    #final displaying
    display = name
    display+= '\\nSTR '+ stat_spots(strength)
    display+= '\\nINT '+ stat_spots(intelligence)
    display+= '\\nCHA '+ stat_spots(charisma)
    return display

    
print(create_character('ren', 4, 2, 1))


Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

if you escape the newline characters, it will never go to a new line, refer also to the example at the end of the description

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.