求解一元一次方程解:例如10-5x=0,解的x=2.0
#!/usr/bin/python
# -*- coding:utf-8 -*-
import re
FinalNum = []
str = input().strip()
Right = int(str.split('=')[-1])
FinalNum.append(Right)
pattern = re.compile(r'[-+]?\d+[a-zA-Z]')
X = pattern.search(str)
Xindex = 0
pattern1 = re.compile(r'[-+]?\d+')
Left = pattern1.findall(str.split('=')[0])
for j in re.finditer(pattern1, str.split('=')[0]):
if int(re.search(r"[-+]?\d+", X.group()).group()) == int(j.group()):
Xindex += int(j.group())
else:
FinalNum.append(-int(j.group()))
print('方程右边常数和:',sum(FinalNum))
print('方程左边的未知数系数:',Xindex)
print('{} = {}'.format(re.search(r'[a-zA-Z]',X.group()).group(),'%.1f'%(sum(FinalNum)/Xindex)))
输入:10-5x=0
过程:
方程右边常数和: -10
方程左边的未知数系数: -5
结果:x = 2.0