李子豪 发表于 2020-5-14 17:45:22

一元二次方程求根

现在在外面没有电脑晚上一遍写一遍看你们的回复给最佳嘤嘤嘤

李子豪 发表于 2020-5-14 18:23:26

import math#导入math库
a = eval(input())
b = eval(input())
c = eval(input())
delta = pow(b,2)-4*a*c#△=b^2-4ac
if a == 0:
    if b == 0:
      print('Data error!')
    else:
      print(-c/b)
else:
    if delta < 0:    #根据求解公式判断
      print('该方程无实数解')
    elif delta == 0:
      x = (math.sqrt(b*b-4*a*c)-b)/(2*a)
      print(x)
    elif delta > 0:
      x1 = (math.sqrt(b*b-4*a*c)-b)/(2*a)#求和公式
      x2 = (-math.sqrt(b*b-4*a*c)-b)/(2*a)
      if x1 > x2:   #比较大小 按顺序输出
            print('{} {}'.format(x1,x2))
      else:
            print('{} {}'.format(x2,x1))

Twilight6 发表于 2020-5-14 19:30:30

本帖最后由 Twilight6 于 2020-5-15 11:32 编辑

李子豪 发表于 2020-5-14 18:23

求最佳{:10_254:}
a = int(input('a:'))
b = int(input('b:'))
c = int(input('c:'))
solution = []
if a == 0 and b == 0:
    print('Data error')
elif a == 0:
    print(f'{-c / b}')
else:
    if (b * b - 4 * a * c) >= 0:
      solution.append(f'{((-b + ((b ** 2 - 4 * a * c)**0.5) )/ (2 * a))}')
      solution.append(f'{((-b - ((b ** 2 - 4 * a * c)**0.5) )/ (2 * a))}')
      temp = list(set(solution))
      temp.sort()
      print(temp)
    else:
      print('该方程无实数解!')

rsj0315 发表于 2020-5-15 13:21:15

用eval直接脱,老师不推荐哦。
哈哈哈哈哈
页: [1]
查看完整版本: 一元二次方程求根