我和一个愚蠢的老师一起上python课,但我没能让任何东西正常工作。这里有一个简单的程序,我只是想让工作,一旦我知道它不是真正的平均值。你知道吗
>>> class two:
def average(a,b):
return int((a+b)/2)
def main():
num = input("Number? ")
x= int(num)
y= average(x+1,x)
print(y)
main()
Number? 5
Traceback (most recent call last):
File "<pyshell#28>", line 1, in <module>
class two:
File "<pyshell#28>", line 9, in two
main()
File "<pyshell#28>", line 7, in main
y= average(x+1,x)
NameError: global name 'average' is not defined
发生错误的原因是,在使用全局名称
average
时,它在作用域中没有任何全局名称。 您似乎对何时以及是否使用class
关键字感到困惑。在您的特定示例中,您不需要它average
和main
都想成为全局函数,而不是类方法。你知道吗请尝试此程序:
或者,如果您想了解课程:
注意
average
的声明现在如何包含一个self
参数,它将调用链接到一个特定的two
对象。还要注意average
的调用是如何改变的:它现在是t.average()
。在本例中,t
是将作为two.average()
的第一个参数传递的特定对象。你知道吗相关问题 更多 >
编程相关推荐