再次用Python水了一道蓝题
  • 板块灌水区
  • 楼主_None
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/18 12:31
  • 上次更新2024/8/18 15:20:21
查看原帖
再次用Python水了一道蓝题
1147447
_None楼主2024/8/18 12:31

rt,接着上次的绿题,又水了一道(由于输入问题给硬控半小时); 题目:P2382 化学分子式

tmp={};niums={}
while(True):
    a=input().strip()
    if(a=="END_OF_FIRST_PART"):break
    while("  "in a):a=a.replace("  "," ")#处理空格
    a=a.split(" ")
    tmp[a[0]]=int(a[1])
l=sorted(tmp,key=lambda x:len(x),reverse=True)#让元素长度大的排在前面
for i in l:
    niums[i]=tmp[i]#计入字典
while(True):
    a=input().strip()
    if(a=='0'):break
    i=0
    while(True):
        if(i==len(a)-1):break
        if((not a[i].isdigit()) and a[i+1].isdigit() and a[i]!='*'):
            a=a[:i+1]+"*"+a[i+1:]
        i+=1
    for i in niums:
        a=a.replace(i,"+"+str(niums[i]))
    a=f"({a.replace('(','+(')})".replace("(+","(")
    try:print(int(eval(a)))#还是eval大法好
    except:print("UNKNOWN")

下次看看能不能水个紫题

2024/8/18 12:31
加载中...