【Python】函数式编程例子

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、写在前面

大家好我是初心今天我们回到了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等你哦

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python