python基础学习笔记(二)——数学模块math modules和(递归)函数functions

chapter5 模块和函数

模块的数学运算由C语言的标准库定义,永久有效。只支持实数运算,cmath模块支持复数运算。返回结果大部分为浮点型。

具体各函数作用

math.gcd()函数,计算两个数的最大公约数。注意:只能是两个数

math.log2(x)函数,计算以2为底,x的对数。

math.log10(x)函数,计算以10为底,x的对数。

math.log(a,b)函数,计算以b为底,a的对数。注意:b的缺省值为e,即自然对数

input()函数,Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

math.sin(),math.cos(),math.tan()函数,计算正弦、余弦、正切函数

math.fsum()函数,对迭代器中的每个元素进行求和操作。

  • 定义函数

函数:通过函数名称执行一系列语句,完成特定的函数功能。

通过def定义函数,函数体内的语句前有适当的空格。

add_one(val)函数

def add_one(val):
    print("Function got value", val)
    return val+1
val=add_one(2)
print(val)
Function got value 2
3

add2(val1,val2)函数。注意运行结果的空格。

def add2(val1,val2):
    s=val1+val2
    print("the sum of ",val1," and ",val2," is ",s)
    print("the sum of",val1,"and",val2,"is",s)
add2(1,2)
the sum of  1  and  2  is  3
the sum of 1 and 2 is 3

add3()函数

def add3(val1,val2,val3):
    s=val1+val2+val3
    print("the sum of",val1,val2,"and",val3,"is",s)
add3(1,2,3)
the sum of 1 2 and 3 is 6

choose_greater(val1,val2)函数。注意:def和if语句在使用时的冒号:和缩进格式。

def choose_greater(val1,val2):
    if val1>val2:
        g=val1
    else:
        g=val2
    print("the greater is",g)
choose_greater(3,5)
the greater is 5

is_divisible(a,b)函数

def is_divisible(a,b):
    if a%b==0:
        return True
    else:
        return False
print(is_divisible(5,6))
print(is_divisible(6,2))
False
True

average(list)函数

def average(l):
    return sum(l)/len(l)
ls=[1,2,3]
print(average(ls))
2.0
  • 递归函数

递归函数:不断调用自身的函数。

注意:递归函数必须有一个停止的条件,并且递归调用的过程中不断向停止条件靠近,以防无休止地调用自身。

           在定义一个递归函数时,应该首先定义它的停止条件。其次注意要调用它自身。

factorial(x)函数

def factorial(x):
    if x==0:
        return 1
    else:
        return x*factorial(x-1)
print(factorial(4))
24

total_sum(x)函数

def total_sum(x):
    if x==0:
        s=0
    else:
        s=x+total_sum(x-1)
    return s
print(total_sum(100))
5050

fibonnaci(x)函数

def fibonnaci(x):
    if x==0 or x==1:
        s=x
    else:
        s=fibonnaci(x-2)+fibonnaci(x-1)
    return s

print(fibonnaci(11))
89

猜你喜欢

转载自blog.csdn.net/AndesStay/article/details/82527026