本地能过但是线上WA,请问有大佬的题解吗?
查看原帖
本地能过但是线上WA,请问有大佬的题解吗?
761337
szdxcjh楼主2022/8/20 15:31
class Calculate():
    def __init__(self) -> None:
        self.divnum = 0
        self.integer = 0
        self.startpoint = 0
        self.endpoint = 0
        self.equal = False
        self.flag = True
        self.char = ''
    def calculate(self,instr):
        while(self.endpoint<len(instr)):
            char = instr[self.endpoint]
            if(char.isdigit()):
                self.endpoint += 1
            else:
                if(char in ['+','-','=']):
                    if(self.startpoint != self.endpoint):
                        self.integer = self.integer+int(instr[self.startpoint:self.endpoint])\
                            if self.flag else self.integer-int(instr[self.startpoint:self.endpoint])
                    if(char == '='):
                        self.equal = True
                        self.flag = False
                    if(char == '+'):
                        self.flag = False if self.equal else True
                    if(char == '-'):
                        self.flag = True if self.equal else False
                    self.endpoint += 1
                    self.startpoint = self.endpoint
                else:
                    self.char = char
                    if(self.startpoint == self.endpoint):
                        self.divnum = self.divnum+1 if self.flag else self.divnum-1
                    else:
                        self.divnum = self.divnum+int(instr[self.startpoint:self.endpoint])\
                            if self.flag else self.divnum-int(instr[self.startpoint:self.endpoint])
                    self.endpoint += 1
                    self.startpoint = self.endpoint
        return round(-self.integer/self.divnum,3),self.char

res = Calculate()
instr = input()
res_num,char = res.calculate(instr)
print(char+"={}".format(res_num))
2022/8/20 15:31
加载中...