You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在二次方程求解Python程序中询问用户是否再次使用?

给二次方程求解程序添加重复运行逻辑

直接给你改造后的完整代码,核心是用while循环包裹主逻辑,每次计算完成后询问用户是否继续:

import math

def solve_quadratic():
    print("求解二次方程 ax² + bx + c = 0")
    # 获取用户输入的系数,处理输入异常
    try:
        a = float(input("请输入系数a(不能为0):"))
        if a == 0:
            print("a不能为0,这不是二次方程!")
            return
        b = float(input("请输入系数b:"))
        c = float(input("请输入系数c:"))
    except ValueError:
        print("输入无效,请输入数字!")
        return
    
    # 计算判别式
    discriminant = b**2 - 4*a*c
    
    # 根据判别式计算根
    if discriminant > 0:
        root1 = (-b + math.sqrt(discriminant)) / (2*a)
        root2 = (-b - math.sqrt(discriminant)) / (2*a)
        print(f"方程有两个不同的实根:{root1:.2f} 和 {root2:.2f}")
    elif discriminant == 0:
        root = (-b) / (2*a)
        print(f"方程有一个实根(重根):{root:.2f}")
    else:
        real_part = -b / (2*a)
        imaginary_part = math.sqrt(-discriminant) / (2*a)
        print(f"方程有两个共轭复根:{real_part:.2f} + {imaginary_part:.2f}i 和 {real_part:.2f} - {imaginary_part:.2f}i")

# 主循环,控制重复运行
while True:
    solve_quadratic()
    # 询问用户是否继续
    choice = input("\n是否需要再次求解?输入y继续,其他键退出:").strip().lower()
    if choice != 'y':
        print("程序结束")
        break

关键逻辑说明:

  • 把求解逻辑封装成函数solve_quadratic(),让代码结构更清晰
  • 用while True创建无限循环,每次循环调用一次求解函数
  • 求解完成后,通过input()获取用户选择,仅当输入为y(不区分大小写)时继续循环,否则退出程序

内容的提问来源于stack exchange,提问作者Volkov47

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:25:03