python解决一元一次方程组

运用第三方库

python 复制代码
# 有多个未知数,且包含
'4+3x=8''-5+12y=0''6a-5+1=2-2a''-4b=10'
test = '-4b=10'
# 解决首个为负号的问题
if test[0]=="-":
    last_fuhao = test[0]
    test = test[1:]
else:
    last_fuhao = "+" # 因为要把符号也搬进去,所以有个初始的符号位
# print("第一个符号",last_fuhao)
# print("处理后的方程",test)
# 第一步:将= 替换成减号,并添加()
left,right = test.split("=")
# 把右边的处理掉,因为移位必须换符号,因此把 + 换 -,- 换 +
true_right = ""
for r in range(len(right)):
    if  right[r] =="+":
        true_right+="-"
    elif right[r] =="-":
        true_right+="+"
    else:
        true_right +=right[r]
# print(true_right)
sum_result = left+"-"+f"{true_right}"+"+" # 在程序中是已符号结尾
print("处理后的方程:",sum_result[:-1])
# 遍历:找出含有未知数的东西,添加到列表中去
# 检测数字是否为阿拉伯数字,如果是,就往后找看看有没有包含字母,有则截取到列表中去,
# 从符号开始检索起
zimu_list = []
num_str = ""
# print(ord("+"))  # 97-122  # 48-57  # 42-47

temp_str = ""

for i in range(len(sum_result)):
    # print(sum_result[i])
    if 42 <= ord(sum_result[i]) <= 47:  # 符号前停止,并判断是否有未知数
        # 未知数都在最后一个,所以直接找最后一个是否是未知数
        # print(temp_str[-1])
        if 97<= ord(temp_str[-1]) <= 122:
            zimu_list.append(last_fuhao+temp_str)
        else:
            num_str+=(last_fuhao+temp_str)
        last_fuhao = sum_result[i]
        temp_str = ""
    # 将已知数 或者 未知数拼接起来
    elif sum_result[i] in "0123456789":
        temp_str+=sum_result[i]
    elif 97<= ord(sum_result[i]) <= 122:
        temp_str+=sum_result[i]
# print("纯数字",(num_str))
beizhuchu = eval(num_str) # 被除数
# print(zimu_list)
chushu = ""
for i in zimu_list:
    # print(i[0:-1])
    chushu+=i[0:-1]
chushu = eval(chushu)
print("未知数的结果:",(beizhuchu / chushu)*-1) # 因为未知数没有移位,所以最后要乘以 -1 ,取相反数
相关推荐
Chef_Chen5 分钟前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
百事老饼干9 分钟前
Java[面试题]-真实面试
java·开发语言·面试
千澜空24 分钟前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩32 分钟前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
杨荧1 小时前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰1 小时前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
yannan201903131 小时前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁1 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
王俊山IT1 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习