P4711 「化学」相对分子质量
代码:
a=input()
each=a.split("~")
niums={"Na":23,"Mg":24,"Al":27,"Si":28,"Cl":35.5,"Ca":40,"Mn":55,"Fe":56,"Cu":64,"Zn":65,"Ag":108,"Ba":137,"Hf":178.5,"Pt":195,"Au":197,"Hg":201,"I":127,"K":39,"P":31,"S":32,"H":1,"C":12,"N":14,"O":16,"F":19}
ans=0
for i in each:
num = 0
while(i[num].isdigit()):
num+=1
j=num
if(num!=0):num=int(i[0:num])
else:num=1
i = i[j:]
for k in niums:
i=i.replace(k,"+"+str(niums[k]))
i=i.replace("(", "+(").replace("_{","*").replace("}","")
i=f"{num}*({i})".replace("(+","(")
ans+=eval(i)
print(ans)
还有没有更加捡漏的题目