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

Ti-84 Plus CE计算器运行Python二次方程代码出现数学错误的解决方法

解决TI-84 Plus CE Python环境下二次方程求解的数学错误问题

问题分析

你的代码在TI-84 Plus CE上触发数学错误,核心原因有两点:

  1. 未处理a=0的边界情况:当输入的二次项系数a=0时,方程退化为一次方程,此时代码中(2 * a)等于0,会触发除以0的数学错误。
  2. 复数根显示逻辑不完整:原代码在判别式为负时,仅拼接了(-b±i)的形式,遗漏了根号下判别式绝对值的部分,虽然这不是报错直接原因,但会导致结果显示错误。

修复后的代码

import math

a = int(input("co-efficient of x^2: "))
b = int(input("co-efficient of x: "))
c = int(input("constant: "))

# 处理a=0的一次方程情况
if a == 0:
    if b == 0:
        print("Infinite solutions" if c == 0 else "No solution")
    else:
        x = -c / b
        print(f"One solution: {x}")
else:
    discriminant = b**2 - 4*a*c
    if discriminant >= 0:
        rootPart = math.sqrt(discriminant)
        x1 = (-b + rootPart) / (2 * a)
        x2 = (-b - rootPart) / (2 * a)
        print(f"{x1}, {x2}")
    else:
        # 正确计算并显示复数根
        sqrt_abs_disc = math.sqrt(-discriminant)
        real_part = -b / (2 * a)
        imag_part = sqrt_abs_disc / (2 * a)
        print(f"{real_part}+{imag_part}i, {real_part}-{imag_part}i")

修复说明

  • 增加a=0的判断:提前拦截非二次方程的输入,处理一次方程的各种分支(有唯一解、无解、无数解),避免除以0的错误。
  • 优化复数根显示:正确计算复数根的实部和虚部,完整展示实部±虚部i的标准形式,结果更准确。
  • 适配TI-84环境:TI-84 Plus CE的Python基于MicroPython,对输入合法性要求严格,提前处理边界情况可避免大部分运行时错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 16:05:30