文档章节

一元二次方程求根

希尔瓦娜斯风行者
 希尔瓦娜斯风行者
发布于 2017/08/30 10:21
字数 281
阅读 2
收藏 0
点赞 0
评论 0
"""
用求根公式法解一元二次方程的一般步骤为:
①把方程化成一般形式ax²+bx+c=0(a≠0),确定a,b,c的值(注意符号);
②求出判别式△=b²-4ac的值,判断根的情况;
③在△>=0注:此处△读“德尔塔”)的前提下,把a、b、c的值代入公式进行计算,求出方程的根。
"""
import cmath
import math
import sys


def get_float(msg, allow_zero):
    x = None
    while x is None:
        try:
            x = float(input(msg))
            if not allow_zero and abs(x) < sys.float_info.epsilon:
                print('zero is not allowed')
                x = None
        except ValueError as err:
            print(err)
    return x

print('ax\N{SUPERSCRIPT TWO} + bx + c = 0')
a = get_float('enter a: ', False)
b = get_float('enter b: ', True)
c = get_float('enter c:', True)
x1 = None
x2 = None
discriminant = (b**2) - (4*a*c)
if discriminant == 0:
    x1 = -(b/(2*a))
else:
    if discriminant > 0:
        root = math.sqrt(discriminant)
    else:
        root = cmath.sqrt(discriminant)
    x1 = (-b + root) / (2*a)
    x2 = (-b - root) / (2*a)
    # equation = '{0}x\N{SUPERSCRIPT TWO} + {1}X + {2} = 0 \N{RIGHTWARDS ARROW} x = {3}'.format(a, b, c, x1)
    equation = '{a}x\N{SUPERSCRIPT TWO} + {b}X + {c} = 0 \N{RIGHTWARDS ARROW} x = {x1}'.format(**locals())
    if x2 is not None:
        equation += ' or x = {0}'.format(x2)
    print(equation)


结果:

ax² + bx + c = 0
enter a: 2
enter b: 3
enter c:4
2.0x² + 3.0X + 4.0 = 0 → x = (-0.75+1.1989578808281798j) or x = (-0.75-1.1989578808281798j)

© 著作权归作者所有

共有 人打赏支持
希尔瓦娜斯风行者
粉丝 0
博文 9
码字总数 1715
作品 0
西安
程序员
分配硬币 Arranging Coins

问题: You have a total of n coins that you want to form in a staircase shape, where every k-th row must have exactly k coins. Given n, find the total number of full staircase r......

叶枫啦啦
2017/06/27
0
0
NP难问题与过拟合

NP问题一直都是信息学的巅峰。巅峰,意即很引人注目但难以解决。在信息学研究中,这是一个耗费了很多时间和精力也没有解决的终极问题,好比物理学中的大统一和数学中的歌德巴赫猜想等。 以下...

ccj_ok
2017/08/01
0
0
请教一个python的问题,关于import 库的问题

程序是计算一元二次方程,然后需要使用math的sqrt函数。 但是使用import math导入math库,程序运行后不报错,但是运行到需要sqrt函数的时候报错: name 'sqrt' is not defined 然后,最后尝试...

linux工人
2013/01/22
3.1K
5
计算器 abacus 技术文档之二----初步设计

======================================= 计算器 abacus 的下载地址:http://www.oschina.net/code/snippet73693213725 如果你有关于 abacus 的问题或者建议,请发邮件至 zhoucosin@163.co......

zhcosin
2012/10/30
0
0
Matlab计算微分方程曲线求导及过曲线上点的切线方程

Matlab计算微分方程曲线求导及过曲线上点的切线方程 求解f(x)=x^2一元二次方程上某点的切线方程并绘制出方程的切线图。点(4,f(4))是曲线方程f(x)上的一个点,求出该点的切线并绘制出来。 画出...

zhangphil
2017/12/19
0
0
已知三点坐标,求过这三点的一元二次方程

问题 原问题:已知三点坐标,如何求过这三点的一元二次函数? 已知三点(x1,y1)(x2,y2)(x3,y3),求过这三点的一元二次函数通式。 (1) 拉格朗日插值法,提供了已知N+1个点,求N次多项...

初雪之音
2016/12/25
109
0
计算器 abacus 技术文档之三----自定义函数

计算器 abacus 是一个小巧却功能齐备的计算器,支持四则混合运算(包括逻辑运算),支持大量的数学函数,支持变量参与运算,支持自定义函数以扩充功能。目前版本是 2,地址:http://www.osch...

zhcosin
2013/06/16
0
4
svm学习小笔记

(1)python中1和l,有时容易弄混 (2)svm中根据kkt条件来选择α,通过目标函数(其他α固定好后就是一个一元二次方程)来优化。 (3)先选出还没达到kkt条件的a1,因为a1更新公式为a1+(y...

小翔扁小丁
2017/11/25
0
0
数学专业核心课程详细介绍

具体介绍一下数学与应用数学的核心课程 1、课程名称:解析几何 Analytic Geometry 内容简介:《解析几何》是学科基础课程,是所有数学专业及应用数学专业的主要的基础课。它是用代数的方法来...

ApplySquare
2017/12/14
0
0
编码原理(附二)----二值化

二值化,开门见山的讲,就是将非二进制的字符按照一定的规则编码为二进制串了,这样编码以后,出现的编码符号便只有0和1,从算术编码的角度来讲,可能出现的字符就只有“0”和“1”,这样更有...

mmlf
02/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

与女儿谈商业模式 (5):糖果连锁店?

分类:与女儿谈商业模式 2007-08-02 15:27阅读(8394)评论(32)   与女儿谈商业模式(5):糖果连锁店?   陈志武 /文   谈过星巴克、沃尔玛、戴尔以及微软的故事后,给陈笛印象最深的莫...

祖冲之
1分钟前
0
0
Linux平台下RMAN异机恢复总结

潇湘隐者 Linux平台下RMAN异机恢复总结 2017-05-29 16:30 by 潇湘隐者, ... 阅读, ... 评论, 收藏, 编辑 下面总结、整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,...

rootliu
8分钟前
0
0
Spring配置xml启动报错 Connot find 'beans'

1.我们先看一下spring的原始配置 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc......

江湖鱼大虾
10分钟前
0
0
www.w3.org被qiang导致logback报错:Connect reset

web项目部署到tomcat后,web项目中的logback不能运行,报错信息如下: Reported exception: ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while parsing xml file......

浮躁的码农
34分钟前
0
0
JDeveloper中文乱码解决

全局设置字体; 全局设置环境编码; 项目设置编译器环境编码。

wffger
今天
2
0
MySQL主从介绍 , 准备工作,配置主,配置从, 测试主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

TaoXu
今天
2
0
线性代数学习总结

亭子happy
今天
1
0
Java8:Lambda表达式增强版Comparator和排序

1、概述 在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。 这篇文章是...

孟飞阳
今天
0
0
从架构到组件,深挖istio如何连接、管理和保护微服务2.0?

近几年我一直从事于微服务系统的设计以及实现方面的工作,属于微服务架构一线实践者。之前做过一些单体系统的微服务改造,在微服务拆分、治理等方面都有一定的经验。 本人比较特殊一点的经历...

xiaomin0322
今天
1
0
基于vue的h5文件切片上传(获取文件md5,实现秒传、进度条实现)

template <button @click="file"></button><label ref="upload" style="position: relative;"> <input type="file" @change="selectFile" style="position: abs......

hkaikai
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部