注意:
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
return None可以简写为return。
Python的函数返回多值其实就是返回一个tuple,按位置赋给对应的值
练习
请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:
ax2 + bx + c = 0
的两个解。
提示:计算平方根可以调用math.sqrt()函数:
>>> import math
>>> math.sqrt(2)
1.4142135623730951
解法:
# -*- coding: utf-8 -*-
import math
def quadratic(a, b, c):
# check data type of a,b,c
if not isinstance(a, (int, float)):
raise TypeError("bad operand type")
if not isinstance(b, (int, float)):
raise TypeError("bad operand type")
if not isinstance(c, (int, float)):
raise TypeError("bad operand type")
# check value of a
if a == 0:
raise TypeError("a can't be zero")
elif (b*b - 4*a*c) <0:
return(print("There is no solution."))
else:
x1 = (-b + math.sqrt(b*b - 4*a*c)) / (2*a)
x2 = (-b - math.sqrt(b*b - 4*a*c)) / (2*a)
return (x1,x2)
print(quadratic(2,3,1))
网友评论