我在尝试python的类,但是我遇到了一个名称错误,我不知道如何修复。当不在一个类里的时候,它工作得很好,但是现在它不工作了,我想这是一个明显的问题,或者只是整个事情都错了,我现在看起来很愚蠢,哈哈,其他变量都是我没有时间去做的事情,所以忽略它们。(是的,统计数据是直接从辐射中剥离出来的)
import time, random
class User():
def players():
players = 0
def stats(self):
perks = 20
print ("you have 20 perk points to spend")
print(""" you have several choices of what to spend
them in:
STRENGTH - what it says on the tin
PERCEPTION - awareness
ENDURANCE - how long you can endure something
CHARISMA - yet again what it says on the tin
INTELLIGENCE - how smart you are
AGILITY - how much of a slippery bugger you are
LUCK - how lucky you are""")
strength = int(input("What level is your strength?"))
perks = perks - strength
perception = int(input("What level is your perception?"))
perks = perks - perception
endurance = int(input("What level is your endurance?"))
perks = perks - endurance
charisma = int(input("What level is your charisma?"))
perks = perks - charisma
intelligence = int(input("What level is your intelligence?"))
perks = perks - intelligence
agility = int(input("What level is your agility?"))
perks = perks - agility
luck = int(input("What level is your luck?"))
perks = perks - luck
if perks >= 0:
print ("this works")
elif perks <=-1:
print("this also works")
def __init__(self,username,stats):
self.username = username
self.stats = stats
players +=1
story = "on"
while story == "on":
print ("Start of story")
stats()
Welcome to my story
Traceback (most recent call last):
File "C:/Users/----/----/python/----.py", line 45, in <module>
stats()
NameError: name 'stats' is not defined
>>>
您的问题是您有
attribute
stats
和方法stats
,您可以将您的stats
属性重命名为_stats
,而且还需要从User
类中创建一个对象stats()
是您的类User
的一个方法。这意味着stats()
存在于User
的{a1}内,但超出了范围,它没有被定义。在还有另一个问题:您的
__init__
接受一个同名的参数(stats
),然后将stats
设置为self
的属性。这意味着您可以使用传递给__init__
调用的任何内容覆盖您的方法stats()
(当您设置self.stats = stats
时)。您应该将此属性重命名为self._stats = stats
。在而且在全局范围内,您从未instantiated您的类
User
。所以你可以这样做:这将解决错误。不过,我不确定代码是否能达到您期望的效果。在
stats()
中定义了很多变量,比如strength
等等。也许你想把它们定义为self
的属性,所以self.strength = ...
。在然后可以通过
user.strength
等在全局范围内访问它们相关问题 更多 >
编程相关推荐