我有一个项目清单。然后,我就有了一个在其中查找项目的功能。
def find(self, runners):
for runners in self._runners:
if runners.name == name:
return runners
因此,当我键入runnersworld.find(peter)
它时,应该带回一条打印语句,例如“找到记录或找不到记录。每个记录都有一个流水号和一个流水号。但是当我运行此函数时,会得到一个未定义的全局变量名称。这两个罚款我有:
跑步类
class Runner(object):
def __init__ (self, runnerid, name):
self._runnerid = runnerid
self._name = name
@property
def runnerid(self):
return self._runnerid
@property
def name(self):
return self._name
@name.setter
def name(self, name):
self._name = name
def get_fee(self, basicfee, moneyraised):
raise NotImplementedError("AbstractMethod")
def __str__(self):
rep = "Runner: " + self._runnerid + " " + self._name + "\n"
return rep
俱乐部班
class Club (object):
def __init__(self, clubid, name):
self._clubid = clubid
self._name = name
self._runners = []
@property
def clubid(self):
return self._clubid
@property
def name(self):
return self._name
@name.setter
def name(self, name):
self._name = name
@property
def runners (self):
return self._runners
@runners.setter
def runners(self, runners):
self._runners = runners
def add(self, runners):
if runners not in self._runners:
self._runners.append(runners)
def remove(self, runners):
if runners in self._runners:
self._runners.remove(runners)
def find(self, runners):
for runners in self._runners:
if runners.name == name:
return runners
def __str__(self):
rep = "Club: " + self._clubid + " " + self._name + "\n"
for runner in self._runners:
rep += str(runner)
return rep
我将查找功能编辑为:
def find(self, name):
for runners in self._runners:
if runners.name == name:
print("Runner found in Records")
else:
print("Runner not found in record")
它似乎有效,但是当我尝试运行时runnersworld.find(peter)
,runners4life.find(peter)
我得到了:
记录中找不到转轮
记录中找不到转轮
记录中找不到转轮
记录中找不到转轮
记录中找不到转轮
记录中找不到转轮
但是跑步者中肯定有一个彼得
在下面的代码中:
def find(self, runners):
for runners in self._runners:
if runners.name == name:
return runners
没有name
定义任何变量。你可能是说
def find(self, name):
for runners in self._runners:
if runners.name == name:
return runners
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句