【Python】函数式编程例子

简介: 【Python】函数式编程例子

dbf4d75672cf46298bf901f40fad142d.png


一、写在前面🍺


大家好!我是初心,今天我们回到了Python从入门到精通

今天跟大家分享的文章是 Python中函数的使用 ,希望能帮助到大家!本篇文章收录于 初心Python从入门到精通 专栏。

🏠 个人主页:初心%个人主页

🧑 个人简介:大家好,我是初心,和大家共同努力。

💕 欲买桂花同载酒,荒泷天下第一斗。—— 钟离&荒泷一斗「原神」

💕欢迎大家:这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘


事情是这样的:遇到一个需求,希望将Vue项目发布为apk,于是开始了解,下面是我整理的发布笔记,供大家参考。


二、七段数码管显示倒计时✨


题目:用7段数码管显示9-0的倒计时


以下给出了4个普通函数和一个main函数,程序入口由main函数开始。其中drawGap()、drawLine(draw)、drawDigit(digit)均已完善,现在只需要完善draw_count_down()函数即可。

import turtle as t
import time
def drawGap():
    """
    绘制数码管间隔
    """
    t.penup()
    t.fd(20)
def drawLine(draw):
    """
    #绘制单段数码管
    """ 
    drawGap()
    t.pendown() if draw else t.penup()
    t.fd(80)
    t.right(90)
def drawDigit(digit):
    """
    画0-9的数字
    """
    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    t.left(90)
    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    t.left(180)
    t.penup()
    t.fd(20)
def draw_count_down():
    """
    请补充画倒计时(注意每次画完后刷新)
    turtle.home()回到中心点
    turtle.clear()刷新界面
    """
def main():
    t.setup(920,680,200,200)
    t.penup()
    t.fd(-300)
    t.pensize(20)
    t.pencolor("purple")
    draw_count_down()
    t.hideturtle()
    t.done()
main()

补充:仅展示draw_count_down()函数,因为其他函数内容不变,main函数也不变。

i=9
while i>=0:
    t.home() # 让起始点在中心
    drawDigit(i) # 画出数字
    i-=1 # 递归画
    t.clear() # 清除上一个数字
    t.home() # 回到起始点


三、斐波那契序列🍺


题目:计算斐波拉契数,给定n返回第n个斐波拉契数(限定使用循环)

def fib(n):
    """计算并返回第n个斐波拉契数, n >= 1。测试用例如下
    >>> fib(1) 
    1
    >>> fib(10)
    55
    >>> fib(0)
    error: input n=0 is not >= 1, please try again!
    0
    >>> fib(30)
    832040
    >>> fib(-1)
    error: input n=-1 is not >= 1, please try again!
    0
    """
import doctest
doctest.testmod()   


下面是完整的斐波那契数列代码。

if (n <= 0):
    print("error: input n=%d is not >= 1, please try again!" % n)
    return 0
if (n == 1 or n == 2):
    return 1
if (n > 2):
    a, b = 1, 1  # 起始的两个数
    k = 0 # k用于记住和
    for i in range(1, n - 1):  # 首先确定循环次数
        k = a + b  
        a = b
        b = k
        i += 1
    return k


四、总结撒花😊


本文主要讲解了如何两道题目,分别是使用七段数码管绘制9-0的倒计时和使用循环实现斐波那契数列。😊

这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 本文由初心原创,首发于CSDN博客, 博客主页:初心%🏠

🏠 我在CSDN等你哦!😍


相关文章
|
5月前
|
开发者 Python
Python中的函数式编程:理解map、filter和reduce
【2月更文挑战第13天】 本文深入探讨了Python中函数式编程的三个主要工具:map、filter和reduce。我们将详细解释这些函数的工作原理,并通过实例来展示它们如何使代码更简洁、更易读。我们还将讨论一些常见的误解和陷阱,以及如何避免它们。无论你是Python新手还是有经验的开发者,本文都将帮助你更好地理解和使用这些强大的函数。
|
5天前
|
存储 算法 数据处理
Python函数式编程
【10月更文挑战第12天】函数式编程是一种强大的编程范式,它可以帮助我们编写更加简洁、易读、可维护和高效的代码。虽然 Python 不是一种纯粹的函数式编程语言,但它提供了许多支持函数式编程的特性和功能。通过深入了解和掌握函数式编程的概念和技巧,我们可以在 Python 编程中更好地应用函数式编程的理念,提高我们的编程水平和代码质量。
9 2
|
5月前
|
分布式计算 Python
Python函数式编程学习笔记
高阶函数是能接收另一个函数作为参数的函数,如Python的map()、reduce()和filter()。map()将传入的函数应用到序列每个元素并返回迭代器,如将整数列表转换为字符串列表。reduce()对序列进行累积计算,例如求和。filter()根据给定函数返回的真值保留或丢弃序列元素,常用于筛选。sorted()函数支持自定义排序,如按绝对值或ASCII值排序。此外,还包括返回函数、匿名函数(lambda)、装饰器(用于动态增强函数功能)和偏函数(partial),用于固定函数部分参数,简化调用。
48 1
|
1月前
|
Python
Python函数式编程-Filter
Python函数式编程-Filter
|
2月前
|
Python
Python函数式编程:你真的懂了吗?理解核心概念,实践高阶技巧,这篇文章带你一次搞定!
【8月更文挑战第6天】本文介绍了Python中的函数式编程,探讨了高阶函数、纯函数、匿名函数、不可变数据结构及递归等核心概念。通过具体示例展示了如何利用`map()`和`filter()`等内置函数处理数据,解释了纯函数的一致性和可预测性特点,并演示了使用`lambda`创建简短函数的方法。此外,文章还强调了使用不可变数据结构的重要性,并通过递归函数实例说明了递归的基本原理。掌握这些技巧有助于编写更清晰、模块化的代码。
26 3
|
3月前
|
存储 分布式计算 索引
Python函数式编程入门窥探
Python本身不是一门函数式编程语言,但是它参考了一些函数式编程语言很好的地方,除了可以写出更可读的代码外。还能用它来实现一些特定功能,本身也提供了强大的注解系统和函数和对象之间的灵活调用。
|
3月前
|
缓存 并行计算 Shell
12种增强Python代码的函数式编程技术
函数式编程是一种高度抽象的编程范式,它倡导使用纯函数,即那些不依赖于外部状态、没有可变状态的函数。在纯粹的函数式编程语言中,函数的输出完全由输入决定,因此相同的输入总是产生相同的输出,这样的函数我们称之为无副作用的。
|
4月前
|
Python
在Python中,`map()`, `filter()` 和 `reduce()` 是函数式编程中的三个核心高阶函数。
【6月更文挑战第24天】Python的`map()`应用函数到序列元素,返回新序列;`filter()`筛选满足条件的元素,生成新序列;`reduce()`累计操作序列元素,返回单一结果。
37 3
|
4月前
|
Serverless 开发者 Python
Python函数式编程:让你的代码更简洁、更高效!
【6月更文挑战第12天】Python函数式编程引入了数学函数概念,强调无副作用和不可变数据。特点包括高阶函数、Lambda表达式、map、filter和reduce。示例展示了如何使用map进行平方运算,filter筛选条件元素,reduce计算元素总和,体现其简洁高效。虽然不适用于所有情况,但函数式编程能提升代码可读性和可维护性。
27 3
|
5月前
|
Python
Python函数式编程自带函数
Python函数式编程自带函数
29 1