谁能帮我看一眼为什么3号测试RE?
查看原帖
谁能帮我看一眼为什么3号测试RE?
894165
hallo_happ楼主2023/1/27 21:59

源代码

import re

hallo = input()
left , right = hallo.split("=")

tem = re.compile(r"((-?[0-9]*)([a-z]))")
tmp2 = re.compile(r"(-?[0-9^a-z]*)")

left_unknown = tem.findall(left)
left_KN = tmp2.findall(left)
right_unknown = tem.findall(right)
right_KN = tmp2.findall(right)
print(left_unknown,left_KN,right_unknown,right_KN)
get_unknown = left_unknown[0][2]

new = []
for i in left_KN:
    try:
        
        new.append(-int(i))
    except ValueError:
         
        pass
for i in right_KN:
    try:
        new.append(int(i))
    except ValueError:
         
        pass
sum_KN = sum(new)

new = []
for i in left_unknown:
    try:
        if i[1] == "":
            new.append(1)
        if i[1] == "-":
            new.append(-1)
        new.append(int(i[1]))
    except ValueError:
         
        pass
for i in right_unknown:
    try:
        if i[1] == "":
            new.append(-1)
        if i[1] == "-":
            new.append(1)
        new.append(-int(i[1]))
    except ValueError:
         
        pass
sum_unknown = sum(new)

ans = str(round(sum_KN/sum_unknown,3))
if len(ans.split(".")[1]) != 0:
    ans += "0"*(3-len(ans.split(".")[1]))
    if ans=="-0.000":
        ans = ans[1:]
print(left_unknown[0][2]+"="+ans)
2023/1/27 21:59
加载中...