找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8925|回复: 4

[分享] python解二元一次方程的程序

[复制链接]

8

主题

225

回帖

4

威望

工程师

积分
267
QQ
发表于 2019-7-21 07:20 | 显示全部楼层 |阅读模式
朋友给孩子做题不知道答案问我,我数学也还给老师了。尴尬,只有用python了。装了回B
代码如下:
import math
def rs(a,b,c,x):#验算程序
    f = a*x*x+b*x+c
    return f
def yh(a,b,c,x,n):#优化程序
    # 优化
    m = round(math.pow(0.1,n),n)
    x1 = round(x,n)
    while rs(a,b,c,x1)>m:
        n=n+1
        x1=x1 = round(x,n)
    n = rs(a,b,c,x1)
    return x1,n
#主程序
print("一元二次方程求解程序")
print("格式为:ax^2+bx+c=0")
a=0
b=0
c=0
d=0
#输入参数,确保为数字
a = input("请输入a的值(必须为数字):")
while b==0:
    try:
        a = float(a)
        #确保a不为0
        if a!=0:
            b=1
        else:
            b=0
            a = input("请输入a的值(必须为数字):")
    except ValueError:
        a = input("请输入a的值(必须为数字):")
        b=0
b = input("请输入b的值(必须为数字):")
while c==0:
    try:
        b = float(b)
        c = 1
    except ValueError:
        b = input("请输入b的值(必须为数字):")
        c = 0
c = input("请输入c的值(必须为数字):")
while d==0:
    try:
        c = float(c)
        d = 1
    except ValueError:
        c = input("请输入c的值(必须为数字):")
        d = 0
d=0
while d==0:
    n = input("保留到小数点后几位(必须为1--15整数):")
    try:
        n=int(n)
        if n>0 and n<=15:
            d=1
    except:
        d=0
#开始计算
d = b * b- 4 * a * c
if d<0:
    print( '无实根')
if d==0:
    x=-b/(2*a)
    print("只有一个答案:",x)
    # 验算
    print("验算结果", rs(a, b, c, x))
    print("保留到小数点后",n,"位的值为",yh(a,b,c,x,n)[0])
    print("保留到小数点后", n, "位的验算结果为", yh(a, b, c, x, n)[1])
if d>0:
    x1=(-b+math.sqrt(d))/(2*a)
    x2=(-b-math.sqrt(d))/(2*a)
    print('答案有两个值:')
    print("第一个为近似值):",x1)
    #验算
    print("第一个值验算结果(近似值):",rs(a,b,c,x1))
    x1 = yh(a, b, c, x1, n)
    print("保留到小数点后", n, "位的值为", x1[0])
    print("保留到小数点后", n, "位的验算结果为", x1[1])
    print("\n")
    print("第二个为近似值):", x2)
    print("第二个值验算结果(精确值):", rs(a, b, c, x2))
    x2 = yh(a, b, c, x2, n)
    print("保留到小数点后", n, "位的值为", x2[0])
    print("保留到小数点后", n, "位的验算结果为", x2[1])

复制代码到文件,扩展名为“py”。在装个python就能运行。
下载地址:https://www.python.org/downloads/windows/

12

主题

728

回帖

7

威望

高工

积分
919
发表于 2019-7-21 12:56 | 显示全部楼层
这贴不对,不是python群
回复

使用道具 举报

33

主题

3175

回帖

75

威望

教授

积分
3590

希望之星勋章

发表于 2019-7-22 09:04 | 显示全部楼层
感谢分享!
回复

使用道具 举报

17

主题

595

回帖

10

威望

高工

积分
842
发表于 2020-9-9 10:53 | 显示全部楼层
楼主,有没有用python进行creo二次开发的资料?
回复

使用道具 举报

1

主题

176

回帖

1

威望

工程师

积分
211
发表于 2020-9-16 10:36 | 显示全部楼层
这都可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2024-11-27 00:30 , Processed in 0.142728 second(s), 22 queries .

快速回复 返回顶部 返回列表