Build an RPG Character - Build an RPG Character

Tell us what’s happening:

I have no clue how to do steps 8-12 and I know I cannot use the 'or ’ thing based on other posts but im lost. Thanks for the help.

Your code so far

full_dot = '●'
empty_dot = '○'
def create_character(character_name, strength, intelligence, charisma):
    if type(character_name) != str:
        return 'The character name should be a string'
    if character_name == '':
        return 'The character should have a name'
    if len(character_name) > 10:
        return 'The character name is too long'
    if ' ' in character_name:
        return 'The character name should not contain spaces'
    if strength or intelligence or 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 strength + intelligence + charisma != 7:
        return 'The character should start with 7 points'
    print(character_name + '\n')
    print('STR ' + (strength * full_dot) + (10 - strength) * empty_dot + '\n')
    print('INT ' + (intelligence * full_dot) + (10 - intelligence) * empty_dot + '\n') 
    print('CHA ' + (charisma * full_dot) + (10 - charisma) * empty_dot)
create_character('ren', 4, 2, 1)

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

Can you explain what you want to do and how you tried to do it?

First, it would help if you could see the output of your function call. You need to print it.

There is no instruction against using or. Keep in mind other forum discussions may not relate exactly to the specific problem you’re facing.

so it says i need to state that if strength, intelligence, or charisma is less than one or above for send the respective message. I just want to know if i am on the right track with the greater than and less than signs Thanks

You’ve use or two different ways here.

if strength or intelligence or charisma != int:

if strength < 1 or intelligence < 1 or charisma < 1:

Each expression between or is evaluated independently. I’ll put brackets around each independent expression to make it more clear.

if (strength) or (intelligence) or (charisma != int):

if (strength < 1) or (intelligence < 1) or (charisma < 1):

You can see in the first example, it’s not checking if strength is not equal to int, it’s just checking if it’s truthy.

The second example or is used correctly.

Yes you are. However you’ll never see what your function returns if you don’t print it

This is not how you check if a value is an integer type

so back to the ‘or’ sign does it work like I have it or do I have to check them all as a group?

How can you check if it’s working or not?

And which line of code are you talking about?

line 14 with this problem

8. When create_character is called with a second, third or fourth argument that is lower than 1 it should return All stats should be no less than 1.

are you sure that your code has an issue on that line?
look at what your function is returning, test with print(create_character('ren', 1,0,6)), what is your function output?

Thank you for the help.

did you manage to investigate the issue?