Python中的return怎么用

如图所示,为什么我想返回x1和x2的值,却总是无法实现呢?求高手指教

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

追问

计算完了应该是刚好等于0,应该执行if后的语句,但是即使走了else,那也应该返回“There is no real root”,怎么什么都不显示,Python中的return是怎么用的呢?求进一步指教,谢谢!

刚才用Python的IDLE试了一下,可以返回,但是为什么用在pycharm中不能实现呢?

温馨提示:答案为网友推荐,仅供参考
相似回答