猿问

为什么 python 不退出脚本?

我有以下简单的 python 程序来使用二分法求方程根:


from numpy import exp

#

def fun(x):

  return 5.0+4.0*x-exp(x)

#

a=3

b=10.0

eps=1.0e-15

#

fa=fun(a)

fb=fun(b)

#

if fa*fb>0:

  print("wrong interval!!!",fa,fb)

  exit()

#

iter=1

while (b-a)>eps:

  c=(a+b)/2.0

  fc=fun(c)

  if fc==0:

    print("x = ",c)

    exit()

  if fc*fa>0:

    a=c

    fa=fc

  else:

    b=c

    fb=fc

  iter+=1

#

print("x = ",c)

print("accuracy = ",'{:.2e}'.format(b-a))

print("f(",c,") =",fun(c))

print(iter," iterations needed")

如果我将 a 放入错误的间隔(例如 a=3),它会说这是错误的间隔,但无论如何它都会继续给出(显然)错误的结果和四行


错误:root:别名无效:名称 less 不能使用别名,因为它是另一个魔术命令。


而且,内核死掉了(我使用的是 jupyter)。你能帮助我吗?


梦里花落0921
浏览 104回答 2
2回答

撒科打诨

你应该使用sys.exit("optional custom message")而不是仅仅exit()这引发了一个SystemExit异常,而这只exit()在解释器的上下文中才有意义。import sys# logic hereif "something bad":    sys.exit("optional custom message")

交互式爱情

这可能是因为您需要在 if 语句完成后添加 else 语句来说明如果为 false 则执行此操作,否则执行其余代码。
随时随地看视频慕课网APP

相关分类

Python
我要回答