试了很多遍下面那个代码,不能连续输入数字,只能解第一个示例,请问这是什么问题

#题目描述:求解一元二次方程 ax^2 十 bx 十c=0 ,系数a、b、c通过键盘输入(保留2位小数)。 输入时不需要提示信息。
输入示例1: 1,-1,-6
输出示例1 :方程的解x1=3.00
方程的解x2=-2.00
输入示例2:1,2,1
输出示例2:方程的解x1=x2=-1.00
输入示例3:1,2,4
输出示例3:方程的解x1=-1.00+1.73j
方程的解x2=-1.00-1.73j

import math
a,b,c=eval(input().replace(',',','))
delta=b**2-4*a*c
if delta>0:#1,-1,-6
    x1 = (b - delta ** 0.5) / (-2 * a)
    x2 = (b + delta ** 0.5) / (-2 * a)
    print("方程的解x1={:.2f}".format(x1))
    print("方程的解x2={:.2f}".format(x2))
elif delta==0:#1,2,1
       x=b/-2*a
       print("方程的解x1=x2={:.2f}".format(x))
elif delta<0:#1,2,4
    shi=-1*b/(2*a)
    xu=math.sqrt(-1*delta)/(2*a)
    print('方程的解',f'x1={shi:.2f}+{xu:.2f}i')
    print('方程的解',f'x2={shi:.2f}-{xu:.2f}i')

本回答调用gpt:
根据你提供的代码,无法连续输入数字的原因是因为在输入时没有进行循环。你只输入了一组数字,而程序只会对这一组数字进行解方程,然后结束运行。如果你想连续输入数字,可以使用while循环来实现。示例代码如下:

import math

while True:
    a, b, c = eval(input("请输入三个数,以逗号分隔(输入q退出):").replace(',',','))
    if a == 'q' or b == 'q' or c == 'q':
        break

    delta = b ** 2 - 4 * a * c
    if delta > 0:
        x1 = (b - delta ** 0.5) / (-2 * a)
        x2 = (b + delta ** 0.5) / (-2 * a)
        print("方程的解x1={:.2f}".format(x1))
        print("方程的解x2={:.2f}".format(x2))
    elif delta == 0:
        x = b / -2 * a
        print("方程的解x1=x2={:.2f}".format(x))
    elif delta < 0:
        shi = -1 * b / (2 * a)
        xu = math.sqrt(-1 * delta) / (2 * a)
        print('方程的解', f'x1={shi:.2f}+{xu:.2f}i')
        print('方程的解', f'x2={shi:.2f}-{xu:.2f}i')

在这个示例代码中,使用了while循环来实现连续输入数字的功能。每次循环中,程序会要求输入三个数字,如果输入的数字中有一个是字符q,则会退出循环,结束程序。如果输入的是数字,则会对这三个数字进行解方程,并输出结果。

回答

你输入第二组它就解第二组了呀
题目只要求你解一组

加个while循环就可以了