Python小题:解一元二次方程

解一元二次方程

【 问题描述】给定参数a,b,c,请求出ax^2+bx+c=0的解。
【输入格式】一行三个正整数a,b,c,用来描述一元二次方程的参数。
【输出格式】一行,包含一个正整数,表示年份a到年份b之间闰年的个数。
【输入样例】1 5 6;1 4 4 ;1 1 3
【输出样例】-3.0 -2.0;-2.0;Error
【数据范围及约定】|a|,|b|,|c|<=100

#解答一元二次方程
import math

def solve_quadratic_equation(a,b,c):

    #计算判别式
    dis = b ** 2 - 4 * a * c
    #根据判别式的情况处理
    if dis > 0:
    #有两个不同的解
        x = (-b + math.sqrt(dis))/(2 * a)
        y = (-b - math.sqrt(dis))/(2 * a)
        if x < y:
            print(f"{round(x,1)}{round(y,2)}")
        else:
            print(f"{round(y,1)}{round(x,1)}")
    elif dis == 0:
        #有一个解
        x=-b/(2*a)
        print(f"{round(x,1)}")
    else:
        #无解
        print("Error")

# 示例
    
a = int( input("请输入整数a:"))
b = int(input("请输入整数b:"))
c = int(input("请输入整数c:"))


result = solve_quadratic_equation(a, b, c)
print(result)

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值