定义函数

定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple。


练习

请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:

ax2 + bx + c = 0

的两个解。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author:rocky
import math
def 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,x2

a = 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)))

 

posted @ 2017-07-19 11:09  rocky2009  阅读(336)  评论(0)    收藏  举报