python简单的三元一次方程求解

本文介绍了一种使用Python解析三元线性方程组的方法,通过正则表达式匹配和高斯消元法求解未知数x, y, z。示例代码展示了如何输入方程,提取系数并求解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import re

lt = []
d = {}
for i in range(3):
    a = input('请输入第%d个三元式'%(i + 1))
    st = a.split("=")
    r = re.compile('(-?\d?)[xyz]')
    b = re.findall(r, st[0])
    print(b)
    for j in range(3):
        if b[j] == "":
            b[j] = 1
        if b[j] == '-':
            b[j] = -1
    d = {
        'x': int(b[0]),
        'y': int(b[1]),
        'z': int(b[2]),
        'sum':int(st[1])
    }
    lt.append(d)
print(lt)
t = lt[0]['x'] / lt[1]['x']
for i in lt[0]:
    lt[1][i] = lt[1][i] * t - lt[0][i]

t1 = lt[0]['x'] / lt[2]['x']
for i in lt[0]:
    lt[2][i] = lt[2][i] * t1 - lt[0][i]

t2 = lt[1]['y'] / lt[2]['y']

for i in lt[0]:
    lt[2][i] = lt[2][i] * t2 - lt[1][i]


z = lt[2]['sum'] / lt[2]['z']
y = (lt[1]['sum'] - lt[1]['z'] * z) / lt[1]['y']
x = (lt[0]['sum'] - lt[0]['z'] * z - lt[0]['y'] * y)/lt[0]['x']

print(x,y,z)
#样例输入
#请输入第1个三元式3x+6y-5z=12
#请输入第2个三元式x-3y+2z=-2#请输入第3个三元式5x-y+4z=10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值