Build an RPG Character - Build an RPG Character

Tell us what’s happening:

Hello ! a new guy learning Python from zero here. I tried to write this code with the knowledge of Python basics lesson juste after the caesar cypher.

I’m stuck on 9-10-11-12

Can someone help me and tell me if i do major mistakes or do i need small improvement to finish this exercice properly ?

Thanks for you help and have a good day !

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'
    if len(name) > 10:
        return 'The character name is too long'
    if name.count(" ") >= 1:
        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 or intelligence or charisma < 1:
        return 'All stats should be no less than 1'
    if strength or intelligence 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'

    STR = strength * full_dot + empty_dot * (10 - strength)
    INT = intelligence * full_dot + empty_dot * (10 - intelligence)
    CHA = charisma * full_dot + empty_dot * (10 - charisma)

    final = f'{name}\nSTR {STR}\nINT {INT}\nCHA {CHA}'
    print(final)

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/143.0.0.0 Safari/537.36

Challenge Information:

Build an RPG Character - Build an RPG Character

Wouldn’t it be nice if we could use that shorthand for our if conditions? But no, each condition between operators (and/or) should be written so it evaluates to true or false.

Also, does create_character return the final string?

print your function call so you can test your function and see what it returns with different test data

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

Hello,

I got it. I’ve change the :
removed

and it’s work ! Thanks for your advices :slight_smile:

Have a good one !

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge. How to Help Someone with Their Code Using the Socratic Method

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.