我已经花了几个小时在这段代码上了,它仍然会给我错误。我想做一个'自动标记'的测试,在那里你介绍好的和坏的答案,它计算最后的分数。在
代码:
class puntuacion:
def __init__(self, aciertos, errores):
self.aciertos = int(input("Introduce el numero de aciertos"))
if self.aciertos > 40:
print("Numero maximo de aciertos: 40")
exit()
self.errores = int(input("Introduce el numero de errores: "))
def calculo(self):
totalac = self.aciertos * 0.25
print(totalac)
while self.errores > 3:
totalerr += -0.25
self.errores - 3
print'Nota final: ', totalac-totalerr
calculo({})
错误:
C:\Users\Admin>python C:\Users\Admin\Documents\python\test2.py Traceback (most recent call last): File "C:\Users\Admin\Documents\python\test2.py", line 1, in <module> class puntuacion: File "C:\Users\Admin\Documents\python\test2.py", line 17, in puntuacion calculo({}) File "C:\Users\Admin\Documents\python\test2.py", line 10, in calculo totalac = self.aciertos * 0.25 AttributeError: 'dict' object has no attribute 'aciertos'
不能直接调用实例方法:必须先实例化类:
calculo()
方法不接受任何参数:第一个参数self
是隐式的,与类实例相对应。你不及格。在您还应该从}作为参数传递,通常您不想在类的初始化中执行“复杂”的工作(如用户交互):
^{2}$__init__
中删除input()
函数;您已经将aciertos
和{然后:
相关问题 更多 >
编程相关推荐