栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

函数与模块python(书本代码)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

函数与模块python(书本代码)

函数与模块(python小练习)

1.1斐波那契数列(函数调用)
  1. 例1.1-1
def fib(n):
    a,b=1,1
    item=1
    while(item<=n):
        print(a,end=' ')
        a,b=b,a+b
        item+=1
fib(10)

运行结果:1 1 2 3 5 8 13 21 34 55

  1. 例1.1-2
def fib(n):
    a,b=1,1
    item=1
    while(item<=n):
        print(a,end=' ')
        a,b=b,a+b
        item+=1
print(fib(10))

运行结果:1 1 2 3 5 8 13 21 34 55 None

1.2计算两个数中的最大值(函数调用)
  1. 例1.2-1
#定义函数计算两个数中的最大值
def maximum(x,y):
    if x>y:
        return x
    elif x==y:
        return "这两个数相等"
    else:
        return y
a=eval(input(" "))
b=eval(input(" "))
print(maximum(a,b))

输入: 2.3 和 4.5 输出: 4.5

  1. 例1.2-2
#定义函数计算两个数中的最大值
def maximum(x,y):
    if x>y:
        return x
    elif x==y:
        return "这两个数相等"
    else:
        return y
a,b=input().split(" ")  #单行输入两个数
print(maximum(a,b))

输入:3.3 3.3 输出:这两个数相等

1、定义的函数中有返回值(return)时,当执行到return语句就返回调用处。例如程序(1.2)调用函数语句maximum(a,b)将a,b的值传递给x,y,并用print语句输出函数返回的值。

2、 当函数没有return语句(没有给出要返回的值时),Python会给它一个None值。例如程序(1.1-2)输出的 Fibonacci 数字序列是在fib函数中实现的,而最后输出None是因为print语句要输出fib(n)函数的返回值,而fib是一个无返回值的函数所以Python会给它一个None值(代表无)因此会多出一个None。

1.3输出两位学生的课程成绩单及各自的平均成绩
def grade(name,num,*scores):
    print(name)
    print("{}门课程成绩为:".format(num))
    ave=0
    for i in scores:
        print(i,end=' ')
        ave+=i
    ave/=num
    print("n平均成绩为{:.2f}".format(ave))
grade("张三",3,90,100,98)

输出:
张三
3门课程成绩为: 90 100 98
平均成绩为96.00

for x in y:
循环体
执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束
定义函数时,在函数的第一行参数列表右侧增加一个带 *的参数表示参数的数量是可变的。

1.4求n的阶乘(用递归的方式)
def fact(n):
    if n==1:
        return 1
    return n * fact(n-1)
print(fact(3))

运行结果:6

1.5求(a+b)ⁿ

求两数之和的n次方可以分解成二项式
通过观察如下的二项展开式不难发现
(1)求整数的阶乘
(2)求组合数
(3)求二项式中的各项
(4)求各项的累加和

#定义求阶乘函数
def fac(N):
    term=1
    for i in range(1,N+1):
        term*=i
    return term
#定义求组合数函数
def comb(M,N):
    return fac(M)/fac(N)/fac(M-N)
#定义求二项式通项函数
def term(a,b,n,r):
    return comb(n,r)*a**(n-r)*b**r
#定义求和函数
def sum(a,b,n):
    item=0
    for r in range(n+1):
        item+=term(a,b,n,r)
    return item
a=eval(input("请输入二项式系数a:"))
b=eval(input("请输入二项式系数b:"))
n=eval(input("请输入项数n:"))
print(sum(a,b,n))

输入:3 1 2 输出:16.0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号