27 lines
741 B
Python
27 lines
741 B
Python
|
def solve_equation(eq):
|
|||
|
"""
|
|||
|
配平化学方程式,返回配平后的化学方程式
|
|||
|
|
|||
|
:param eq: 化学方程式,
|
|||
|
格式为
|
|||
|
{
|
|||
|
'left': [ {
|
|||
|
'atoms': [ {'元素名称': 元素个数}, {'元素名称': 元素个数}, ... ],
|
|||
|
'coefficient': 系数,
|
|||
|
'pretty_name': 化学式的字符串表示
|
|||
|
}, ... ],
|
|||
|
'right': [ ... ]
|
|||
|
}
|
|||
|
:return: 配平后的化学方程式,与输入格式相同
|
|||
|
若无法配平,则返回 None
|
|||
|
"""
|
|||
|
# 使用加减消元法解方程组
|
|||
|
# 依据:反应前后,每个元素的个数相等
|
|||
|
|
|||
|
# 用二维数组表示方程组的系数,用一维数组表示方程组的常数项
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|