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版
Dec 07 Python
python去除所有html标签的方法
May 05 Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
Python之用户输入的实例
Jun 22 Python
Python人脸识别第三方库face_recognition接口说明文档
May 03 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
Python通过递归函数输出嵌套列表元素
Oct 15 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
对象析构函数__del__在Python中何时使用
Mar 22 Python
Python数据处理的三个实用技巧分享
Apr 01 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 magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
python 提取文件的小程序
2009/07/29 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
python使用PyCharm进行远程开发和调试
2017/11/02 Python
python如何在循环引用中管理内存
2018/03/20 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
Python3.5运算符操作实例详解
2019/04/25 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
python能否java成为主流语言吗
2020/06/22 Python
基于Python实现天天酷跑功能
2021/01/06 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
农村改厕实施方案
2014/03/22 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
九华山导游词
2015/02/03 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书