一直卡在80%测试用例,不明白哪里没考虑到

import sys


# 捕捉异常,如果有未知量则返回空值
def convert_to_int(a): 
    try:
        result = int(a)
        return result
    except :
        return None

def func(s :str):

    #按照符号对式子分割成  Ax+B
    A_li = []  # A的所有系数
    B_li = []  # B的所有系数
    if s[0] != '-':
        s  = '+' + s + '+'
    else:
        s = s + '+'
    i = 1
    while s:
        if s == '+':
            s = ''
        elif s[i] not in ['+', '-'] :
            i += 1
        else:
            res = s[:i]

            tag = convert_to_int(res.replace('+', ''))
            if tag or tag == 0:
                B_li.append(tag)
            else:
                tag = -1 if '-' in res else 1
                if len(res) == 2:
                    A_li.append(tag)
                else:
                    A_li.append(int(res[1:-1]) * tag)
          
            s = s[i:]
            i = 1
    A = sum(A_li)
    B = sum(B_li)
    return A, B
while True:
    try:
        left, right = sys.stdin.readline().strip().split('=')
        if not left:
            break
        A_L, B_L = func(left)
        A_R, B_R = func(right)
        res = (B_R - B_L) / (A_L - A_R)
        char = ''
        for x in left:
            if x.islower():
                char = x
        if not char:
            for x in right:
                if x.islower():
                    char = x
        print(f"{char}={res:.3f}")
    except:
        break
        
        
      
全部评论
找到原因了:在求解 0/-1时会得到-0.000的结果,和答案0.000对不上
点赞 回复 分享
发布于 01-17 10:38 安徽

相关推荐

深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
不想投了,不想面了,不想找了感觉自己像个小丑
用微笑面对困难:不是你去大学生就业平台看看啊,boss很多就是冲kpi的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务