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

1 Like

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.

1 Like

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

1 Like

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.

1 Like

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

2 Likes

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

1 Like

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

1 Like

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

And which line of code are you talking about?

1 Like

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.

1 Like

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?

1 Like

Thank you for the help.

1 Like

did you manage to investigate the issue?

1 Like