Just started learning python (3.2) and have a question. I have created a some code that creates some stats (as in health, magic etc etc) and the numbers are randomly generated. Here is the code…
def stats ():
print ()
print ('Some text.')
done = False
while not done :
charname = input(str('What is the name of the character? '))
hp = random.randint(5,20)
mp = random.randint(4,20)
stre = random.randint(3,20)
agi = random.randint(3,20)
spd = random.randint(3,20)
wis = random.randint(3,20)
intel = random.randint(3,20)
cha = random.randint(3,20)
print (charname)
print ('HP:',hp)
print ('Mana:',mp)
print ('Strength:',stre)
print ('Agility:',agi)
print ('Speed:',spd)
print ('Wisdom:',wis)
print ('Intelligence:',intel)
print ('Charisma:',cha)
print ()
done = input('All done? yes/no ')
if( done == 'yes' ):
done = True
elif(done == 'no'):
done = False
while done :
print ()
print ('Now that your stats are done, you can go on your adventure!')
done = False
Now this works fine, but how could I call on this function again in case I wanted to view the stats again with it keeping the same stats it randomly generated before?
Sorry if the question is bit off. Still all new to programming.
Thank you.
Since you’re new to programming, here’s some advice on a different way to store your data (without actually coding it for you).
First, define a
Characterclass, with attributes for HP, mana, etc. I don’t know if you know about classes yet, but here’s an intro. There are various tricks you can do to get around having to explicitly write in the names for HP, mana, etc, but for learning’s sake, it’s probably better to do them all manually for now.Then
defarandom_character()function that creates aCharacterobject with random attributes, defined like how you’re doing now, but instead of saving them in different variables that Python doesn’t know have anything to do with one another, puts them in a singleCharacter.Add a
__str__method to theCharacterclass, so that ifcharis aCharacter,print(char)prints out the attributes.If you want to be able to keep track of characters, use
pickleto store it in files.If you have questions about any part of this, just ask. 🙂