定义函数时,需要确定函数名和参数个数; 如果有必要,可以先对参数的数据类型做检查; 函数体内部可以用return随时返回函数结果; 函数执行完毕也没有return语句时,自动return None。 函数可以同时返回多个值,但其实就是一个tuple。
练习
请定义一个函数quadratic(a, b, c)
,接收3个参数,返回一元二次方程:
ax2 + bx + c = 0
的两个解。
#!/usr/bin/env python3# -*- coding: utf-8 -*-# Author:rockyimport mathdef quadratic(a, b, c): z = b ** 2 - 4 * a * c for x in(a,b,c): if not isinstance(x,(int,float)): raise TypeError('参数类型错误') if a == 0: raise TypeError('a不能为0') elif z < 0: print('此一元二次方程无解') return else: x1 = (-b + math.sqrt(z))/(2*a) x2 = (-b - math.sqrt(z))/(2*a) return x1,x2a = float(input('请输入a:'))b = float(input('请输入b:'))c = float(input('请输入c:'))if quadratic(a,b,c): print('您所输入的一元二次方程为:' , str(a) + '*x^2 + ' +str(b) + '*x + ' + str(c) , '= 0' , '该方程的解为:' , str(quadratic(a, b, c)))