我正在尝试根据用户输入创建累积总计。
class Accumulator:
# Create self value == 0
def __init__(self, newval = 0):
self.value = newval
# Addition function
def add(self, newval):
return self.value + newval
然后我有几个不同的功能。在功能全部完成之后,我将我的操作符设置为等于“T'它会立即终止程序。在这里,当我尝试:newval,运算符是我得到第一个错误的地方,其次我会得到错误"添加"没有定义。
operator = 'z'
while operator != 't' or operator != 'T':
try:
newval, operator
except:
#Prompt user to enter a number and valid operator
newval, operator = input("Enter a valid number, space, then an operator: ").split()
下面,根据用户输入的操作员调用与该字母相关的任何功能。以" A"例如:
elif operator == 'a' or operator == 'A':
print(add(self, newval))
self.value = add(self, newval)
然后我的程序应该保持累计总数并继续运行...直到用户进入' t'或者' T'。
答案 0 :(得分:0)
如果您在课堂内使用
,则必须使用self.add
elif operator == 'a' or operator == 'A':
print(self.add(self, newval))
self.value = self.add(self, newval)
如果你没有在同一个类中使用,那么你必须使用object varibale
a = Accumulator()
...
...
elif operator == 'a' or operator == 'A':
print(a.add(self, newval))
self.value = a.add(self, newval)