鱼C论坛

 找回密码
 立即注册
查看: 684|回复: 3

二次函数求根

[复制链接]
发表于 2018-7-28 17:19:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 子沙 于 2018-8-2 18:28 编辑
  1. import cmath
  2. while True:
  3.     a=int(input('请输入实系数一元二次方程的二次项系数:'))
  4.     b=int(input('接下来请输入一次项系数:'))
  5.     c=int(input('下面当然是常数项啦:'))
  6.     if a==0:
  7.         if b==0:
  8.             if c==0:
  9.                 print('x为任意实数')
  10.             else:
  11.                 print('x不存在')
  12.         else:
  13.             print('x=',-c/b)
  14.     else:
  15.         t=b*b-4*a*c
  16.         if t!=0:
  17.             print('x1=',(-b+cmath.sqrt(t))/2/a)
  18.             print('x2=',(-b-cmath.sqrt(t))/2/a)
  19.         elif t==0:
  20.             print('x1=x2=',(-b)/(2*a))

复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-7-28 17:40:30 | 显示全部楼层
可以简化不判断t的正负。
  1.         t=b*b-4*a*c
  2.         if t !=0:
  3.             print('x1=',(-b+t**0.5)/(2*a))
  4.             print('x2=',(-b-t**0.5)/(2*a))
  5.         elif t==0:
  6.             print('x1=x2=',(-b)/(2*a))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-28 18:10:38 | 显示全部楼层
冬雪雪冬 发表于 2018-7-28 17:40
可以简化不判断t的正负。

确实,但我想,输出两个分开的等根,‘x1=’,'x2=',不如‘x1=x2=’来得醒目,所以就弄成这样了,个人习惯吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-28 18:31:32 From FishC Mobile | 显示全部楼层
不是等于零的情况,是实数根和虚数根一起判断
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-1 01:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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