class average :
def myinput():
n=0
mylist=[]
#will be ended when input = -1
while n !='-1' :
n=raw_input('>>>')
if n!='-1' :
mylist.append(n)
print lol(mylist)
def lol(mylist):
try:
mysum=0.0
for i in mylist :
mysum=mysum+int(i)
return mysum/len(mylist)
except:
return 'please don\'t Enter charecters just Number'
ave=average
ave.myinput()
此代码有什么问题?
$ winpty python test3.py Traceback(最近一次调用为最新):
中的文件“ test3.py”,第20行 ave.myinput()TypeError:必须使用
调用未绑定方法myinput() 平均实例作为第一个参数(代之以无用)“”“
答案 0 :(得分:1)
首先,您应该重命名您的类,Python命名约定确实很强大,并且类应始终以大写字母开头。
然后回答:您只是忘记了()
ave = Average()
ave.myinput()
您应该将类实例放入每个方法中
def myinput(self): ...
def lol(self, mylist):
答案 1 :(得分:1)
您的课程应该是这样的:
class Average() :
def myinput(self):
n=0
mylist=[]
#will be ended when input = -1
while n !='-1' :
n=raw_input('>>>')
if n!='-1' :
mylist.append(n)
print self.lol(mylist)
def lol(self, mylist):
try:
mysum=0.0
for i in mylist :
mysum = mysum + int(i)
return mysum/len(mylist)
except:
return 'please don\'t Enter charecters just Number'
ave = Average()
ave.myinput()
第一个参数应该是类实例本身。
答案 2 :(得分:0)
您在这里错过了方括号。
ave=average()