python days3

函数的作用

不知道大家是否注意到,在上面的代码中,我们做了3次求阶乘,这样的代码实际上就是重复代码。编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高质量的代码首先要解决的就是重复代码的问题。对于上面的代码来说,我们可以将计算阶乘的功能封装到一个称之为“函数”的功能模块中,在需要计算阶乘的地方,我们只需要“调用”这个“函数”就可以了

定义函数

在Python中可以使用def关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递给函数的参数,这一点和数学上的函数非常相似,程序中函数的参数就相当于是数学上说的函数的自变量,而函数执行完成后我们可以通过return关键字来返回一个值,这相当于数学上说的函数的因变量。

在了解了如何定义函数后,我们可以对上面的代码进行重构,所谓重构就是在不影响代码执行结果的前提下对代码的结构进行调整。

函数的参数

函数是绝大多数编程语言中都支持的一个代码的“构建块”,但是Python中的函数与其他语言中的函数还是有很多不太相同的地方,其中一个显著的区别就是Python对函数参数的处理。在Python中,函数的参数可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载,因为我们在定义一个函数的时候可以让它有多种不同的使用方式

def hs():
    zhengshu = 0
    fushu = 0
    sum_ = 0
    cishu = 0
    data = 1
    while data !=0 :
        data = eval(input(">>"))
        if data > 0:
            zhengshu += 1
        if data < 0:
            fushu += 1
        sum_ += data
        if data != 0:
            cishu += 1
   
    print(zhengshu)   
    print(fushu)
    print(sum_ / cishu)
def Start():
    hs()
   
Start()

def money():
    dorlla = 10000
    for i in range (14):
        dorlla = dorlla * 0.05 + dorlla
        if i == 9:
            print(dorlla)
    print(dorlla)
def Start():
    money()
Start()

def hs():
    zhengshu = 0
    fushu = 0
    sum_ = 0
    cishu = 0
    data = 1
    while data !=0 :
        data = eval(input(">>"))
        if data > 0:
            zhengshu += 1
        if data < 0:
            fushu += 1
        sum_ += data
        if data != 0:
            cishu += 1
   
    print(zhengshu)   
    print(fushu)
    print(sum_ / cishu)
def Start():
    hs()
   
Start()

def zc():
    count = 0
    for i in range(100,1001):
        if i % 5 == 0 and i % 6 == 0:
            print(i,end=" ")
            count =1
            if count % 10 ==0:
                print()
def Start():
    zc()
Start()

1.def num1():
    n = 0
    while n ** 2 < 12000:
        n +=1
    print(n)
def Start():
    num1()
Start()

2.def num2():
    n = 0
    while n ** 3 <12000:
        n +=1
    print(n-1)
def Start():
    num2()
Start()

def num2():
    Money = 10000
    lilv = 5
    nian = 5
    for i in range(24):
        M = Money * lilv / 100
        T = 12 * M * nian
        print(lilv,'%','月利率',M,'总和',T)
        if lilv == 5.25:
            print('.....')
        lilv += 1/8
def Start():
    num2()
Start()

def num2():
    res = 0
    for i in range(50000,0,-1):
        res += 1/i
    print(res)
def Start():
    num2()
Start()

2.def num2():
    res = 0
    for i in range(1,50001,1):
        res += 1/i
    print(res)
def Start():
    num2()
Start()

def num2():
    res = 0
    for i in range(1,98,2):
        res +=  i/ (i+2)
    print(res)
def Start():
    num2()
Start()

def num2():
    res = 0
    for i in range(1,100000):

        res += 4*((-1)**(i+1)/(2*i-1))
    print(res)
def Start():
    num2()
Start()

原文地址:https://www.cnblogs.com/huangchuan/p/11285488.html