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发送和接收邮件
Sep 27 Python
解决pip install的时候报错timed out的问题
Jun 12 Python
Python嵌套列表转一维的方法(压平嵌套列表)
Jul 03 Python
python实践项目之监控当前联网状态详情
May 23 Python
Python配置文件处理的方法教程
Aug 29 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Python Opencv图像处理基本操作代码详解
Aug 31 Python
Python 创建守护进程的示例
Sep 29 Python
python定时截屏实现
Nov 02 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
Dec 15 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 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中mysql与mysqli的区别分析
2013/06/10 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
three.js中文文档学习之创建场景
2017/11/20 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python的print用法示例
2014/02/11 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
Python二分法搜索算法实例分析
2015/05/11 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python的mysqldb安装步骤详解
2017/08/14 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
城市规划毕业生求职信
2013/10/10 职场文书
医院检讨书范文
2014/02/01 职场文书
财经学院自荐信范文
2014/02/02 职场文书
车间安全生产管理制度
2015/08/06 职场文书
小学数学教师研修日志
2015/11/13 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android