请看上上节课的函数代码:
def checkAndPrint(p_q, pq, sym, p, q):
if sym > 0:
if p_q > 0:
if p_q == p + q:
print("x²+%dx+%d=(x+%d)(x+%d)" %(p_q, pq, p, q))
return True
else:
if -p_q == p + q:
print("x²-%dx+%d=(x-%d)(x-%d)" %(-p_q, pq, p, q))
return True
else:
if p_q > 0:
if p_q == abs(p - q):
if p > q:
print("x²+%dx-%d=(x+%d)(x-%d)" %(p_q, pq, p, q))
else:
print("x²+%dx-%d=(x-%d)(x+%d)" %(p_q, pq, p, q))
return True
else:
if -p_q == abs(p - q):
if p > q:
print("x²-%dx-%d=(x-%d)(x+%d)" %(-p_q, pq, p, q))
else:
print("x²-%dx-%d=(x+%d)(x-%d)" %(-p_q, pq, p, q))
return True
return False
其中多次出现“return True”语句,最后出现“return False”语句,return语句就是返回值语句。本例就是返回真(True)或假(False)。
Python函数不一定有return语句,没有return语句的函数,调用后返回什么呢?
请看下面的代码和运行结果:
可见,有return语句的函数,返回return后的值;没有return语句的函数,返回特殊值“None”,None在Python中表示“空值”(什么也没有)。
上面的例子都是返回具体值,如果返回变量,这个变量需要符号什么条件呢?
(1)全局变量测试:
可见,全局变量作为返回值都没问题。
(2)局部变量测试:
可见,局部变量作为返回值也都没问题。
用Python解决数学问题:abx²+(aq+bp)x+pq类型一元二次多项式的分解因式。
程序代码:
测试运算:
练习:把代码输入py文件中测试。