Python也和C语言一样有自己的标准库,不过在Python中叫做模块(module),这个和C语言中的头文件以及Java中的包类似,其中math就是其中之一,math模块中提供了sin()和cos()函数
引用Python中模块(以引用math为例)的格式为:import math
以一个计算游戏中坐标的例子来说吧:
import math
def move(x,y,step,angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx,xy
这样就可以同时获得返回值:
x,y = move(100,100,60,math.pi / 6)
print x,y
>>>151.961524227 70.0
是不是感觉这方面比C语言强多了?!
其实这是一种“假象”,Python中返回的仍然是一个值!
r = move(100,100,60,math.pi / 6)
print r
>>>151.96152422706632, 70.0
真相是:用print打印返回结果,返回的值是一个tuple!
总结:Python的函数返回多值其实就是返回一个tuple,但写起来更加方便
小习题:
一元二次方程的定义是:ax2 + bx + c = 0
请编写一个函数,返回一元二次方程的两个解。
注意:Python的math包提供了sqrt()函数用于计算平方根。
代码:
import math def quadratic_equation(a, b, c): 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_equation(2, 3, 0) print quadratic_equation(1, -6, 5)