class player(object):
def __init__(self):
self.health = 100
self.stats = {'STR': 0,
'DEF':0}
class create_character(object):
def choose_class(self):
inp = input("Please choose a class!: ").lower()
s = ("Knight, Archer, or Mage")
print(s)
if inp == 'knight':
self.stats['STR'] = 15
self.stats['DEF'] = 15
print(self.stats)
我目前面临的问题是,当我在create_character下引用self.stats时,它会告诉我特定的课程没有“self.stats'”。如果我尝试使用player.self.stats或者player.stats,它会告诉我同样的事情,即该类没有这些属性。如何从其他类引用字典或变量,并更改其属性。此外,当我打印self.health,self.stats,self.name或播放器类所持有的任何属性时,它会给我一些不需要的信息。有没有办法排除额外的信息?
答案 0 :(得分:0)
我相信这将完成您正在寻找的工作:
class player(object):
def __init__(self):
self.health = 100
self.stats = {'STR': 0,
'DEF':0}
def choose_class():
inp = input("Please choose a class (Knight, Archer, or Mage): ").lower()
if inp == 'knight':
# create the player object
p = player()
# changes the values for the attributes in the player object
p.stats['STR'] = 15
p.stats['DEF'] = 15
print(p.stats)
# calls the function to choose the class
choose_class()
虽然这不是一个好的编码风格,所以我建议遵循OOP Python教程。