输入1个要计算的符合化学分子式规则的字符串,如C3O26N4。字母不区分大小写。
输出该分子式的相对分子量,保留1位小数。
元素的相对原子质量用字典表示,如:{'C':12.0, 'O':16.0, 'N':14.0 }。
只考虑元素周期表的前30个即可。
import re
a = "C3O26N4"
dd = {'C':12.0, 'O':16.0, 'N':14.0 }
ptn = re.compile('([A-Z]+)([\d]+)')
b = ptn.findall(a)
print(b)
weight = 0.0
for code, nums in b:
if code in dd:
num = int(nums)
weight += dd[code] * num
print(code, num)
print(weight)