我就废话不多说了,直接看代码吧!

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

补充知识:python 穷举法 多元一次方程 实现求解教程

题目:小利前往书店买四种参考书,这四类书的价格分别为3元、5元、7元、11元。他有70元钱,每种参考书至少买一本,且最后要剩余的钱不足再买其中任意一本书,他有哪些选择?

分析:这一道题是四元一次方程,存在两个限制条件:1是要求各种书最少买一本,2是最多剩余2元。那么我们可以先每一种书各买一本,花掉3+5+7+11=26元,还剩44元,这44元可以任意分配,这样就解决了第一个限制条件,其次,最多剩余2元,那么就存在剩余2元、1元、0元,三种情况,那么也就是说除了第一次花费26元购买的四本书以外,接下来购买的书籍可以是42元、43元、44元,由此第二个限制也解决了。

def x_3():

t = [42,43,44]

d = 0

for z in t:

print("当剩余%d元时:"%(44-z))

for i in range(z//3+1):

for n in range(z//5+1):

for m in range(z//7+1):

for p in range (z//11+1):

if 3*i + 5*n +7*m +11*p == z:

d += 1

print("第%d个解为:(%d,%d,%d,%d)"%(d,i+1,n+1,m+1,p+1) )

调用函数,结果为:

以上为for语句实现穷举法,倘若我们不适用for语句,使用while语句搭配if语句,应该如何实现呢?for语句中,我们给出了具体的循环次数,简单明了。当涉及2个变量同时变化时1个whil和1个if语句语句无法判断是否停止,故还需要搭配一个while和if语句语句,当三个变量时,则需要3个while语句,3个if语句,同理,n变量时,可能就需要n个while语句,n个if语句,显然,这让太过于繁琐。下面给出一个变量和两个变量时的代码块

##先每本书买一本,这样就保障了每本书最低一本的要求,这样还剩余44元,可随意分配

##按照只买种本书、两种书、三种书、四种书的逻辑思路编写代码

def x_1(): ##只买一种书

for m in [3,5,7,11]:

x = 1

while True:

if 42 <= m*x <=44: ##大于等于42,是因为最多剩余2元

print("只买%d的元的书,购买%d本,剩余%d元" %(m,x+1,44-m*x))

break

elif m*x >44:

print("不存在只买%d元的书的情况"%m)

break

else:

x +=1

def x_2(): ##只买两种书

ls = [3,5,7,11]

m = 0

ix = 0

for m in range(3):

ix = 0

while True:

if ix*ls[m] <= 44-ls[m+1]:

ix += 1

for q in range(m+1,4):

iy = 1

while True:

if 42 <= ls[m]*ix +ls[q]*iy <=44:

print("购买%d元书%d本,购买%d元书%d本,剩余%d元"%(ls[m],ix+1,ls[q],iy+1,44-(ls[m]*ix +ls[q]*iy)))

iy += 1

elif ls[m]*ix +ls[q]*iy > 44:

iy = 0

break

else:

iy += 1

else:

break

效果展示

由此可见,for语句比while语句更加简便简单。以上是通过穷举法实现,但若是一个多元一次方程组,存在多个解时,可能就需要其他方法了。在数据分析与挖掘方面,还有很多的知识点要学习。

以上这篇python简单的三元一次方程求解实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: python简单的三元一次方程求解实例

本文地址: http://www.cppcns.com/jiaoben/python/305270.html

用python建立三元一次方程_python简单的三元一次方程求解实例相关推荐

  1. python建立回归模型_简单线性回归的Python建模方法

    简单线性回归,就是两个随机变量存在一定大小的相关系数的前提下,结合散点图观察,采用最小二乘OLS方法,尝试建立一条回归直线,使得误差平方和SSE最小.OLS是一种参数方法,通过确定直线的斜率b和截距a ...

  2. python web框架 多线程_python 简单web框架: Bottle

    基本映射 映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射. 1 2 3 4 5 from bottle import route, run@ro ...

  3. python爬虫今日头条_Python简单的quot;今日头条quot;爬虫

    Hello, 感觉好久没有写简书了,最近一直在忙支付和新需求,忙里偷闲学了一下 python 的简单使用,然后尝试的爬了一下"今日头条",效果还不错,下面简单介绍下我的第一个爬虫. ...

  4. python微信好友分析_Python简单分析微信好友

    开发工具 Python版本:3.6.4 相关模块: itchat模块: pandas模块: pyecharts模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 相关文 ...

  5. python建立sqlite数据库_python sqlite3 创建数据库

    Python标准库14 数据库 (sqlite3) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关 ...

  6. python图像验证码识别_python 简单图像识别--验证码

    python  简单图像识别--验证码 记录下,准备工作安装过程很是麻烦. 首先库:pytesseract,image,tesseract,PIL windows安装PIL,直接exe进行安装更方便( ...

  7. python语句块标记_Python简单语句

    简单语句由(逻辑上的)一行组成. 1.表达式语句 表达式也可以是语句.如果表达式是函数调用或者文档字符串的话尤其有用. 例如: "This modue contains SPAM-relat ...

  8. python读取json配置文件_Python简单读取json文件功能示例

    本文实例讲述了Python简单读取json文件功能.分享给大家供大家参考,具体如下: read_json.json: { "rule":{ "namespace" ...

  9. python字典删除元素_Python简单遍历字典及删除元素的方法

    本文实例讲述了Python简单遍历字典及删除元素的方法.分享给大家供大家参考,具体如下: 这种方式是一定有问题的: d = {'a':1, 'b':2, 'c':3} for key in d: d. ...

  10. python分子化学模拟_python简单实现gillespie模拟

    由于专业需求,需要做主方程的随机模拟.在网上并没有找到适合的Python实现,遂自己写了一个,分享一下源码.至于gillespie算法本身就不介绍了,有需要的读者自然会懂,没需要的读者不建议去懂. 源 ...

最新文章

  1. 量子计算机区别于冯诺依曼机的一个显著特点,大学计算机基础习题答案西安交大.doc...
  2. 提高网站访问速度的34条军规(2)
  3. Python爬虫开发:requests库的使用--发送带参数post请求
  4. 图文解说:Nginx+tomcat配置集群负载均衡
  5. lumanager mysql密码_LuManager单独安装mysqli
  6. GBDT原理及利用GBDT构造新的特征-Python实现
  7. Facebook开源图像处理库Spectrum,优化移动端图像生成
  8. asp.net mvc 伪静态路由配置
  9. poi 灵活导出excel(有这一篇即可~~~~)
  10. uni-app 开发跨平台应用前端框架
  11. 使用MongoDB Compass将JSON数据文件导入MongDB
  12. ORR R0,R0,#R1_nF:OR:R1_iA
  13. 霍纳法则(Horner Rule)--计算多项式的值
  14. 毕业设计 基于STM32厨房环境监控报警系统
  15. java计算各个班的平均分
  16. 电机与运动控制笔记整理(三)——异步电机概述
  17. 湖北大学计算机考入清华,倒数第一考入清华 如何逆袭?
  18. Holoview--Introduction
  19. Python 1-02 基础语法
  20. 匠心打造高精度在线直线度测量仪

热门文章

  1. 图像处理_描述下SIFT特征?(清晰易懂)
  2. 【一天一个C++小知识】007.C++中的struct、enum和union以及内存对齐与大小端问题
  3. 主干网络系列(2) -ResNet V2:深度残差网络中的恒等映射
  4. 忘了 忘了,以前学的矩阵知识全交给老师了,敲黑板了,矩阵乘法实例讲解
  5. wpf对数据库简单操作
  6. java多线程及线程安全详解
  7. OrzFAng系列–树 解题报告
  8. python实现决策树ID3算法
  9. 多线程和并发管理 .NET多线程服务
  10. 车间调度建模系列8|扩展析取图之基于时间片段的赋时三维析取图模型