IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python Day6 函数程序练习 -> 正文阅读

[Python知识库]Python Day6 函数程序练习

1、编写程序,定义一个求阶乘的函数fact(n),并编写测试代码,要求输入整数n(n>=0)。请分别使用递归和非递归方式实现。

法①

n=eval(input('请输入整数n(n>=0):'))
def fact(n):
    if n==0 or n==1:
        return 1
    else:
        return n*fact(n-1)
        
s=fact(n)
print(n,"!=",s,sep='')

法②

def fact(n):
    if n==0:
        f=1
    else:
        f=1
        for i in range(1,n+1):
            f*=i
    return f
n=int(input('请输入整数n(n>=0):'))
print(n,'!=',fact(n))

法③

n=eval(input('请输入整数n(n>=0):'))
s=1
for i in range(1,n+1):
    s*=i
print(str.format("{}!={}",n,s))

在这里插入图片描述

2、编写程序,定义一个求Fibonacci(斐波那契)数列的函数fib(n),并编写测试代码,输出前20项(每项宽度5个字符位置,右对齐),每行输出10个。

法①

def fib(n):
    fibs=[]
    for i in range(n):
        if i==0 or i==1: #数组第0项和第1项都是1
            fibs.append(1)
        else:
            fibs.append(fibs[i-2]+fibs[i-1])
    for i in range(n):
        if i==9: #第10项换行
            print("{:>5}".format(fibs[i]))
        else:
            print("{:>5}".format(fibs[i]),end='')
fib(20)

法②

def fib(n):
    a,b=0,1
    for i in range(n):
        a,b=b,a+b
        if i==9: #第10项换行
            print("{:>5}".format(a))
        else:
            print("{:>5}".format(a),end='')
fib(20)

法③

def fib(n):
    if n <= 1:
        return n
    else:
        return (fib(n - 1) + fib(n - 2))

m = 20
for i in range(1,m+1):
    if i==10:
        print("{:>5}".format(fib(i)))
    else:
        print("{:>5}".format(fib(i)),end='')

在这里插入图片描述

3、编写程序,利用可变参数定义一个求任意个数数值的最小值的函数 min_n(a, b, *c),并编写测试代码。例如,对于 “print(min_n(8, 2))”以及 “print(min_n(16, 1, 7, 4, 15))”的测试代码。

def min_n(a,b,*c):
    return min(a,b,*c)
print('最小值为',min_n(8,2))
print('最小值为',min_n(16,1,7,4,15))

在这里插入图片描述

4、编写程序,利用元组作为函数的返回值,求序列类型中的最大值、最小值和元素个数,并编写测试代码,假设测试数据分别为s1=[9,7,8,3,2,1,55,6]、s2=[“apple”,“pear”,“melon”,“kiwi”]和s3=“TheQuickBrownFox”。提示:函数形参为序列类型,返回值是形如“(最大值, 最小值, 元素个数)”的元组。

def f01(list):
    max_n=max(list)
    min_n=min(list)
    length=len(list)
    print('list=',list)
    return (max_n,min_n,length)
s1=[9,7,8,3,2,1,55,6]
s2=["apple","pear","melon","kiwi"]
s3="TheQuickBrownFox"
def print_s(list):
    print("最大值= {0[0]},最小值= {0[1]},元素个数= {0[2]}".format(f01(list)))
print_s(s1)
print_s(s2)
print_s(s3)

在这里插入图片描述

5、利用循环结构和函数定义,并使用turtle库绘制类似斯洛克形状图案。

import turtle as t
t.speed(0)
def drawCircle():
    t.pendown()
    t.circle(20) #半径为20
    t.penup()
    t.fd(40)
def drawRowCircle(n):
    for i in range(n,1,-1): #从第一排往下画圆 5432
        for j in range(i): #根据i的变化画i个圆
            drawCircle()
        t.fd(-i*40-20) #往左走,回到这一排的第一个圆的位置
        #这里减20是因为循环一次(画了一排圆之后)圆心停在半径20处
        #即此排中第一个圆到最后一个圆的总共长度是i个40+20,小海龟在最后一个圆的起点处
        t.right(90) #小海龟向右转90°
        t.fd(40) #向下走一个直径的距离
        t.left(90) #箭头向下向左即向右
        t.fd(40) 
    drawCircle() #这里补充最后一个圆
drawRowCircle(5)
t.hideturtle()
t.done()
    

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:19:02  更:2022-04-09 18:21:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:49:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码