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


Posted in Python onApril 02, 2020

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

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) )

调用函数,结果为:

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

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

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

以上为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

效果展示

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

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

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

Python 相关文章推荐
python下10个简单实例代码
Nov 15 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
django 链接多个数据库 并使用原生sql实现
Mar 28 Python
如何在django中运行scrapy框架
Apr 22 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python使用多线程查询数据库的实现示例
Aug 17 Python
python tqdm库的使用
Nov 30 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
Dec 04 Python
python 安全地删除列表元素的方法
Mar 16 Python
Python 线性回归分析以及评价指标详解
Apr 02 #Python
Django REST framwork的权限验证实例
Apr 02 #Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 #Python
在 Pycharm 安装使用black的方法详解
Apr 02 #Python
Python Numpy中数据的常用保存与读取方法
Apr 01 #Python
Python PyQt5整理介绍
Apr 01 #Python
django之导入并执行自定义的函数模块图解
Apr 01 #Python
You might like
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
Python编程中的异常处理教程
2015/08/21 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
Python线程threading模块用法详解
2020/02/26 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
年度考核自我鉴定
2013/11/09 职场文书
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
厨房管理计划书
2014/04/27 职场文书
环保倡议书300字
2014/05/15 职场文书
学校食品安全实施方案
2014/06/14 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
2014年个人委托书范本
2014/10/13 职场文书
商场营业员岗位职责
2015/04/14 职场文书
高中政治教学反思
2016/02/23 职场文书
MySQL开启事务的方式
2021/06/26 MySQL
js中Object.create实例用法详解
2021/10/05 Javascript