Python中的return怎么用

Python011

Python中的return怎么用,第1张

2,4,2算出来小于0了,程序走了你的else,然后else这里又没有给x1,x2赋值,怎么返回?

def quadratic(a,b,c):

d=b**2-4*a*c

if d>0:

x1=(-b+d**0.5/2/a)

x2=(-b-d**0.5)/2/a

print('The quadratic is :{0}x^2+{1}x+{2}=0'.format(a,b,c))

return x1,x2

else:

print 'There is no real root'

return None,None

x1,x2=quadratic(2,4,2)

#There is no real root

print x1,x2

#None None

x1,x2=quadratic(2,16,2)

#The quadratic is :2x^2+16x+2=0

print x1,x2

#-12.1270166538 -7.87298334621

python两个return连在一起返回return。python用def语句创建函数时,return语句把结果返回到调用的地方,并且退出函数。return语句在同一函数中可以出现多次,但只要有一个得到执行,就会直接结束函数的执行。那么当程序运行到第一个return语句的时候,即返回并退出def的函数定义,不会再运行第二个return。