0
点赞
收藏
分享

微信扫一扫

python 模块与函数的基础应用与实践

海滨公园 2022-05-02 阅读 66

通过一些练习题分析函数和模块的用途:

  • 编写函数 evalQuadratic(a, b, c, x),返回二项式 ax2+bx+c 的值。
  • 简单定义函数,返回,调用赋值。
  • def evalQuadratic(a,b,c,x):
        return a*x**2+b*x+c
    a=evalQuadratic(1,2,3,4)
    print(a)
    

  • 编写判断素数的函数 isprime(x)。在主调函数中输出 1-100 之间的素数。
  • 这道题的关键是分析什么是素数,通过余数的方式,控制输出为零即可。
  • def isprime():
        M=[]
        for i in range(2,101):
            for j in range(2,i):
                 if i % j == 0:
                     break
            else:
                print(i)
    isprime()
    
    
    分别用迭代(gcdIter(a, b))和递归(gcdRecur(a,  b))方法编写函数求两个正整数的最大公约数。
    如:
    gcd(2, 12)=2
    gcd(6, 12)=6
    gcd(9, 12)=3
    gcd(17, 12)=1
  • 迭代和递归是python 环境中非常有用的两种方式:
  • 迭代是通过循环过程的while实现对变量的控制:
  • def gcdIter(x,y):
        r=1
        while r!=0:
            r=x%y
            x=y
            y=r
        print(x)
    gcdIter(2,12)
    gcdIter(6,12)
    gcdIter(9,12)
    gcdIter(17,12)
    
    

    递归是返回的函数值再次调用函数,这个算法针对汉诺塔问题十分有效:

  • def gcdRecur(a, b):
        if a>b:
            a, b=b, a
        if b%a==0:
            return a
        else:
            return(a,b%a)
    print(gcdRecur(2,12))
    print(gcdRecur(6,12))
    print(gcdRecur(9,12))
    print(gcdRecur(17,12))
    

    创建一个模块 calculator.py,完成任意两个数的加(add)、减(sub)、乘(mult) (div)运算;再编写一个主调程序 exec.py,导入该模块,分别调用其中的函 数,完成如下操作:

  • 模块的创建和调用是作为一种基础的范例:

  • 编写函数:calculator.py

  • def add(x,y):
        return x+y
    def sub (x,y):
        return x-y
    def div(x,y):
        return x/y
    def mult(x,y):
    return x*y
    

    然后再调用:

  • from calculator import *
    print(add(25,36))
    print(sub(86,68))
    print(mult(50,60))
    print(div(99,25))
    

举报

相关推荐

0 条评论