26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
|
# 目前已知的原子列表
|
|||
|
known_atoms = ['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K',
|
|||
|
'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr',
|
|||
|
'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I',
|
|||
|
'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb',
|
|||
|
'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr',
|
|||
|
'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr', 'Rf',
|
|||
|
'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og']
|
|||
|
|
|||
|
|
|||
|
class IllegalAtomException(Exception):
|
|||
|
"""
|
|||
|
元素名称不合法时引发的异常
|
|||
|
"""
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
def check_atom(atom):
|
|||
|
"""
|
|||
|
判断元素名称是否合法
|
|||
|
:param atom: 元素名称
|
|||
|
:return: 无
|
|||
|
若不合法,抛出异常
|
|||
|
"""
|
|||
|
if atom not in known_atoms:
|
|||
|
raise IllegalAtomException('Illegal atom: {}'.format(atom))
|