如何打印程序而不是给出错误信息?

时间:2017-09-23 10:38:32

标签: python python-2.7

a = int(raw_input("A?"))
b = int(raw_input("B?"))
c = int(raw_input("C?"))

minusb = -b
bsquared = b**2
fourac = 4*a*c
twoa = 2*a
discriminant = bsquared + fourac

if discriminantt<0:
  print "This quadratic have no real root."
elif determinant>=0:
  answer1 = (minusb+((bsquared-fourac)**0.5))/twoa
  answer2 = (minusb-((bsquared-fourac)**0.5))/twoa
  print "X = %s and %s" % (answer1, answer2)

但是,当行列式小于0时,不是打印它而是简单地运行一条错误消息,表示无法完成answer1和answer2。如果判别式&lt; 0?

,如何使程序停止运行? PS:我只是想练习在线学习的东西。对不起,如果我的代码很可怕XD

4 个答案:

答案 0 :(得分:0)

form_valid()

对于二次描述= bsqaured-4 * a * c 取决于它的价值根是真实的还是想象的

答案 1 :(得分:-1)

Python捕获的方法是使用 buildParamter=true>variable.txt / try构造捕获异常,而不是试图阻止错误发生。 E.g:

except

异常将从try: answer1 = (minusb+((bsquared-fourac)**0.5))/twoa answer2 = (minusb-((bsquared-fourac)**0.5))/twoa print("X = %s and %s" % (answer1, answer2)) except ValueError as e: print("oops: %s" % e) 类继承,但在几乎所有情况下,您都希望捕获特定的异常,例如: (在上面的示例中)类型Exception的例外。 您可以轻松获取需要捕获的异常类型

  • 阅读文档
  • 只运行代码(没有ValueError子句)并阅读错误消息:它将提供引发异常的类型。

您可以在异常处理程序中执行您认为合适的任何错误处理。例如如果它捕获错误,以下将退出程序:

except

另外,import sys try: answer1 = (minusb+((bsquared-fourac)**0.5))/twoa answer2 = (minusb-((bsquared-fourac)**0.5))/twoa print("X = %s and %s" % (answer1, answer2)) except ValueError as e: print("oops: %s" % e) sys.exit(1) 在Python3中不再有效(你应该使用它);改为使用print "foo"(在Python2中也有效)

答案 2 :(得分:-1)

只需使用

import sys
sys.exit(1)

退出终止运行。 1可以是您喜欢的任何数字。通常0用于表示程序已成功执行,1表示发生错误。在此处了解更多相关信息How to exit from python

答案 3 :(得分:-1)

看看你的代码,你正在做一个愚蠢的错误,因为你的代码无效。

看看这三行代码:

discriminant = bsquared + fourac

if discriminantt<0:

elif determinant>=0:

你在不知不觉中使用了三个不同的变量。