题目转载:http://python.wzms.com/s/1/23
题目描述:
输入a、b、c求一元二次方程ax2+bx+c=0的两个实数根(a不等于0,不考虑无解的情况)。
输入格式:
一行,为a,b,c,每个数用空格隔开。
输出格式:
共一行,两个方程的解用一个空格隔开,保留2位小数,先输出较大的解,若两个解相等时也要输出两个相等的数。
代码:
import math
a, b, c = (input('请输入a、b、c:').split())
a, b, c = int(a), int(b), int(c)
delta = b**2 - 4*a*c
if delta == 0:
solution_equation = -b / (2*a)
print('%.2f' % solution_equation, ' ', '%.2f' % solution_equation)
elif delta > 0:
solution_equation_1 = (-b + math.sqrt(delta)) / (2*a)
solution_equation_2 = (-b - math.sqrt(delta)) / (2*a)
print('%.2f' % solution_equation_1, ' ', '%.2f' % solution_equation_2)
运行结果:

补充知识:

本文详细讲解了如何使用Python编程解决一元二次方程的实数解问题,包括输入格式、输出格式和代码实现过程。通过实例演示,展示了如何处理判别式等于0和大于0的不同情况。

被折叠的 条评论
为什么被折叠?



