#简易三元一次方程组求解
##作者的话
哈啰,大家好啊!我是疯狂的落枕,一个python入门不久(大概也就一年,我在这一年的时间里学了一堆乱七八糟的东西,所以差不多只有半年的水平)的新人小白。这是我第一次写文章哈 ,大家如果不喜欢的话,请不要大喷特喷哦,但我也十分希望大家能在评论区多多留言,鼓励也好,建议也好,我一概接受,你们的每一句评语都是我坚持学习编程的最大动力!谢谢!
##前言
嗯,其实捏,我发现啊,每次我在做方程组检验的时候老是被一堆计算弄的两眼昏花,不太想算下去,于是乎,我就想偷偷懒,自己写一个程序来检验,当然,这只是第一版,我的程序功能受限比较大,因为为了防止电脑卡死,只能检验整数解的方程,后续我会慢慢改进,我也会多多虚心请教,希望大家可以多多支持!
##一.导库
兵马未动,粮草先行,首先,也是最最重要的,就是先导库啦!,这个程序其实只要一个最最基本的python标准库:random库
import random as rd
导库还是很简单滴,接下来就要干正事了,开始!
##二.定义函数
我们首先先定义一个函数,叫啥捏?就叫solve_equation()吧!这个函数所需要的有……额,12个参数,分别为:x在第一个方程式里的系数(cx1),x在第二个方程式里的系数(cx2),x在第三个方程式里的系数(cx3),blabla……,最后是三个常数的系数。随后,我们随机三个值,分别作为x,y,z——这里我想说,水平有限,不晓得怎么随机没有范围的整数,并且无限循环——我们不能让用户每次按鼠标按个半死才得出结果。随后再整三个列表,来存储x,y,z的正确值。
import random as rd
#定义一个函数
def solve_equation(cx1,cx2,cx3,cy1,cy2,cy3,cz1,cz2,cz3,ans1,ans2,ans3):
while True:
x = rd.randint(-100,100)
y = rd.randint(-100,100)
z = rd.randint(-100,100)
x_t = []
y_t = []
z_t = []
好啦,初步工作咱们都做好了,接下来,我们开始做比较,同样,是每一次循环都要比较
import random as rd
#定义一个函数
def solve_equation(cx1,cx2,cx3,cy1,cy2,cy3,cz1,cz2,cz3,ans1,ans2,ans3):
while True:
x = rd.randint(-100,100)
y = rd.randint(-100,100)
z = rd.randint(-100,100)
x_t = []
y_t = []
z_t = []
if cx1*x+cy1*y+cz1*z == ans1 and cx2*x+cy2*y+cz2*z == ans2 and cx3*x+cy3*y+cz3*z == ans3:
x_t.append(x)
y_t.append(y)
z_t.append(z)
print(x_t)
print(y_t)
print(z_t)
break
OK啦,咱们基本完工啦,最后再调用一下函数,按顺序填上参数即可,当然,大家如果觉得我的代码有问题,或者有什么地方要改进的话可以在评论区提出哦,谢谢大家!