代码跑不了,退出结果为0

img


才刚刚学pytho,照着网课敲了代码,跑不起来,我不知道哪里有问题,没有报错,但显示退出代码为0

看将代码放入 if name=='main': 可以不?


import math

if __name__=='__main__':
    a=-1
    b=-2
    c=3
    print((-b+math.sqrt(b**2-4*a*c))/(2*a))
    print((-b-math.sqrt(b**2-4*a*c))/(2*a))


img

【以下回答由 GPT 生成】

问题分析: 根据提供的代码片段,我们可以看到以下问题和可能的解决方案:

  1. 问题: 在计算平方根时,可能会出现虚数。所以可能出现无法计算平方根的情况。

解决方案: 在计算平方根前,可以添加一个条件语句,判断是否可以进行计算。 python delta = b**2 - 4*a*c if delta < 0: print("无实根") else: print((-b + math.sqrt(delta)) / (2*a)) print((-b - math.sqrt(delta)) / (2*a))

  1. 问题: 值 a 的值为 -1 时,计算结果是 0。

解决方案: 针对 a 的值为 -1,可以在计算前先判断 a 是否为 0,然后进行计算。 python if a != 0: delta = b**2 - 4*a*c if delta < 0: print("无实根") else: print((-b + math.sqrt(delta)) / (2*a)) print((-b - math.sqrt(delta)) / (2*a)) else: print("a 的值不能为 0")

综上所述,以下是修复代码问题的解决方案:

import math

a = -1
b = -2
c = 3

if a != 0:
    delta = b**2 - 4*a*c
    if delta < 0:
        print("无实根")
    else:
        print((-b + math.sqrt(delta)) / (2*a))
        print((-b - math.sqrt(delta)) / (2*a))
else:
    print("a 的值不能为 0")

这样修改后的代码将会对给定的 a、b、c 值进行计算,并根据情况输出对应的结果。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

sqrt不能对负数操作,Python表示不了虚数