I'm not getting errors. I also want to point out how your code could be shortened down to this rather than using a bunch of if statements.
class Player: def __init__(self, stats, Name = ''): self.Name = Name self.Strength = stats['Strength'] self.Constitution = stats['Constitution'] self.Intelligence = stats['Intelligence'] def character_creation(Player): statsDict = {'Strength' : 0, 'Constitution' : 0, 'Intelligence' : 0} ##Store skill pts PointDict = {'1' : 'Strength', '2' : 'Constitution', '3' : 'Intelligence'} #Use number to determine the skill points_left = 10 while points_left > 0: print('1: Add point in Strength') print('2: Add point in Constitution') print('3: Add point in Intelligence') choice = input('Add 1 to a skill: ') while choice not in PointDict: #Make sure they're answer is valid choice = input('Add 1 to a skill: ') statsDict[PointDict[choice]] += 1 #Add a skill point points_left -= 1 #Take away a pt print('%s: %s' %(PointDict[choice], statsDict[PointDict[choice]])) print('You have %s points left!' %points_left) return Player(stats=statsDict) #After the while loop return a player. Give the player the whole stats dictionary is easier character_creation(Player)