Python函数定义以及函数调用,代码复用之函数递归

#Python 学习笔记(5) 函数和代码复用 七段数码管绘制 绘制单段数码管 def drawLine(draw): turtle.pendown() if draw else turtle.penup() #将绘制一条线定义为一个基本函数, 参数draw:如果draw是真值,画笔落下,如果不是画笔抬起. 这个函数中唯一靠变量draw来区分这条线是真实绘制还是海龟飞过去并不绘制 def drawDigit(digit): 定义dra... 阅读详情

一、函数定义及函数调用

函数定义:函数名(<参数>)参数可以没有,也可以有一个或者多个

以b站python视频中七段数码管的绘制的方向图示:

本实例通过使用turtle库在turtle库中的画布中绘制:

import time

import turtle

def drawgap():

    turtle.penup()

    turtle.fd(10)

def drawline(draw):

    drawgap()

    turtle.pendown()if draw else turtle.penup()

    turtle.fd(40)

    drawgap()

    turtle.right(90)

def drawDigit(digit):

    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)#绘制第四号线

    turtle.left(90)(此处的left是因为在drawline中有个right(90),在4号线和5号线之间需要直线,所以需要和4号线平行。)

    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)#绘制第七号线

    turtle.left(180)

    turtle.penup()

    turtle.fd(20)

def drawDate(date):#通过使用turtle库对当前时间进行数码管的绘制

    turtle.pencolor("red")

    for i in date:

        if i=='-':

            turtle.write("年")

            turtle.pencolor("blue")

            turtle.fd(40)

        elif i=='=':

            turtle.write("月")

            turtle.pencolor("green")

            turtle.fd(40)

        elif i=='+':

            turtle.write("日")

        else:

            drawDigit(eval(i))

def main():

    turtle.setup(800,400)

    turtle.penup()

    turtle.fd(-300)

    turtle.pensize(5)

    drawDate(time.strftime("%Y-%m=%d",time.gmtime()))#如果不想绘制当前实际时间,可以直接引用字符串直接进行绘制例如“20200327”

    turtle.hideturtle()

    turtle.done()

main()

 二、代码复用之函数递归

 

函数递归是通过对自身函数的调用

例如:def add(x,y):#实现两个数的相加

return x+y

实例:斐波那契数列:当n=1或者2的时候,F(n)取值为1,当n>2的时候,F(n)=F(n-1)+F(n-2).(在anaconda的运行结果)

运行结果为:

 

python turtle画图代码大全,python用turtle画方形管道 大家好,给大家分享一下python中用turtle画一个圆形,很多人还不知道这一点。3、获得当前系统时间,绘制对应的数码管。2、获得一串数字,绘制对应的数码管。1、绘制单个数字对应的数码管。 阅读详情

相关推荐

python 第5章 函数和代码复用

计算机二级Python—第5章 函数和代码复用

m0_67069720的博客 807

七段数码管绘制: turtle.pendown() if draw else turtle.penup()及if循环详解

#此句运行结果为 true print('true') if True else print('false') '情况1 def f(x): print('true') if True else print('false') f(False) '本段代码运行结果为 false '情况2 def f(x): print('true') if False else pri...

小时候很帅的博客 4723

Python语言程序设计(北京理工大学)第五周_Python Programming week05

1. 以下关于递归函数基例的说法错误的是: A. 每个递归函数都只能有一个基例 B.递归函数的基例决定递归的深度 C. 递归函数的基例不再进行递归 D. 递归函数必须有基例 每个递归函数至少存在一个基例,但可能存在多个基例。 2. 以下选项不是函数作用的是: A. 复用代码 B. 降低编程复杂度 C. 提高代码执行速度 D. 增强代码可读性 函数不能直接提高代码执行速度。 ...

MoMo_qyc的博客 6271

Python图形绘制(turtle)基础内容

首先我们先从基本的例子开始,下面是绘制一条蟒蛇的代码,将它复制粘贴,运行试试看。 import turtle turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i...

咸鱼4号 1928

OpenClaw + Ollama 本地大模型部署教程:彻底告别Token焦虑

OpenClaw + Ollama 本地大模型部署教程:彻底告别Token焦虑

leaning_java的博客 1228

网络攻防实验——网络监听

利用CAIN实现ARP监听。

Trieyes_of_feng的博客 3197

【Python】七段数码管绘制问题

问题分析: 绘制路径: 代码: import turtle #引入绘图库turtle def drawLine(draw): #绘制单段数码管 turtle.pendown() if draw else turtle.penup() turtle.fd(40) #前进40像素 turtle.right(90)#旋转...

点滴记忆 2450

UWB灵犀遥控器方案介绍

UWB灵犀指向遥控器的技术原理和方案介绍

xiongdauwb的博客 3899

测验5: 函数和代码复用 (第5周)

中国大学MOOC的嵩天老师的第七期Python语言程序设计课程的测试题, 博主亲测满分 .

人生苦短, 我用python ! 3万+

Mediapipe手势识别实战——基于关节角度计算实现动态手势分类

本文详细介绍了如何利用Mediapipe进行手势识别,通过计算手指关节弯曲角度实现动态手势分类。文章从基础原理出发,讲解了关节角度计算的数学方法,并提供了Python实现代码。同时,还分享了数字手势和OK手势的识别实战经验,以及性能优化和工程实践中的关键技巧,帮助开发者快速掌握实时手势识别技术。

weixin_26891599的博客 403

AD2S1210与DSP28335 SPI通信中的GPIO配置陷阱与解决

本文深入剖析了AD2S1210与DSP28335进行SPI通信时,因GPIO输入限定配置不当导致数据整体右移的典型问题。文章指出,错误地将MISO引脚配置为带采样周期的同步模式是根本原因,并提供了将输入选择限制正确设置为异步模式的解决方案。同时,总结了不同应用场景下GPIO输入限定的配置原则,为高速同步通信的稳定实现提供了关键指导。

weixin_29163857的博客 146

Python 函数

函数的形参:出现在函数定义时的括号中,包括位置参数(按照位置顺序赋值的参数)、关键字参数(通过关键字指明赋予哪一个形参)、默认参数(默认的参数值)、可变元组参数(可以接受多个实际参数的值)、可变字典参数(可以接受多个关键字参数)匿名函数:没有名字的函数,不能独立存在,lambda可以声名函数。格式为lambda形参...:语句块。函数的调用:编写的函数不会马上执行,调用函数时才会执行函数。函数的返回值:函数 = 输入+计算+输出。递归函数:自己调用自己(要有递归的出口)函数的实参:出现在函数调用的括号中。

2403_84004955的博客 424

MindIE与vLLM-Ascend性能对决:Qwen3在昇腾910B上的推理效率实测

本文深度对比了昇腾910B平台上两大推理框架MindIE与vLLM-Ascend的性能表现。通过实测Qwen3系列模型,详细分析了二者在单卡、多卡场景下的推理效率、扩展性及生产环境适用性,为AI算力基础设施选型提供关键参考。

weixin_29214335的博客 1184

python测验5 函数和代码_测验5: 函数和代码复用 (第5周)-单选题

1、以下选项不是函数作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬A、 提高代码执行速度B、 复用代码C、 降低编程复杂度D、 增强代码可读性解析:函数不能直接提高代码执行速度。2、‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫...

weixin_39788131的博客 2921

华为OD面试八股真题 - 操作系统 - 1

华为OD技术面,操作系统相关八股真题提供详细解答,这篇博客主要涉及于进程和线程相关知识点

qq_45776114的博客 1640

基于STFT和卷积神经网络的时序数据分类

我们提供了相应的代码和数据,读者可以直接运行并尝试在自己的数据集上进行分类实验。在本文中,我们将介绍一种基于短时傅里叶变换(STFT)和卷积神经网络(CNN)的时序数据分类方法。我们将提供可直接运行的代码和数据,以帮助读者理解和实现这一方法。STFT可以提取信号的频谱信息,有助于捕捉时序数据中的关键特征。在这个例子中,我们将使用一个简化的手势识别数据集作为示例。在这段代码中,我们使用Adam优化器和稀疏分类交叉熵损失函数进行模型的编译。然后,我们使用训练集进行模型的训练,同时使用测试集进行模型性能的验证。

CodeWOW的博客 694

Python入门--切片和函数

一、耦合 1、耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。 2、在软件工程中,对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。 3、分类:有软硬件之间的耦合,还有软件各模块之间的耦合。耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口。 二、解耦 1、解耦,字面意思就是解除耦合关系。 2、在软件工程中,降低耦合度即可以理解为解

qq_45685587的博客 798

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【创作赢红包】【2023】某python语言程序设计跟学第五周内容

本文内容:函数定义与使用,代码复用与函数递归,pyinstaller库使用。两个实例:七段数码管绘制,科赫雪花小包裹

皮皮的博客 832

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Python学习笔记·代码复用(函数)

Python学习笔记·代码复用(函数)

©TyxMaek 2576

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

1.7【Python】第七章 函数

人工智能入门与实战第一季:python基础语法 函数是实现某一功能的、可以复用的代码块。 说到函数其实我们目前已经接触到了不少的系统函数,比如我们使用最多的打印输出函数、比如计算字符串长度的函数、比如清除列表数据的函数,等等。 print("我是你使用的第一个系统函数") print(len("hello")) print(max(3, 4)) 输出结果: 我是你使用的第一个系统函数 5...

zhudipapa的博客 617

09.Python之函数

函数是实现某个特定功能的代码块的集合: 一、认识函数 1.使用函数的好处: (1) 分而治之:通过函数将程序分一个个小模块,如果代码出现了问题调试起来要容易得多,否则写在一个代码块里会很麻烦 (2) 代码复用:反复使用某一功能的代码,不需要进行多次书写,大大减少代码量 (3) 可读性强:分开成多个小的代码块可读性强 (4) 代码的封装:使用函数的用户不需要了解方法实现的细节,可以直接使用方法 2. 使用函数的例子 通过函数实现两个数的加减乘除 def get_add_result(num01,num02):

douyh的专栏 515

函数的使用

1. 函数调用 python在调用函数的时候,注意到形参的类型以及形参的个数是否和已知函数参数相匹配, 函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”,相当于C语言里面引用操作,给函数取了一个别的名字。 2. 自定义函数: 定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 2.1 空函数 作为一个占位符,如果我们写的代码的,可以利用pass,表示啥也不做

weixin_51122654的博客 166

【从0开始学Python】Python编程的代码复用

Python编程的代码复用 目录Python编程的代码复用函数的定义、调用和返回函数与递归 函数的定义、调用和返回 函数定义 使用def语句 def <name> (<parameters>): <body> 函数调用 调用程序在调用处暂停执行 函数的形参在调用时被赋值为实参 执行函数体 函数被调用结束,给出返回值 函数的返回值 用return语句,程序退出该函数,并返回到函数被调用的地方。 return语句返回的值传递给调用程序。 返回一个值或多个值,无返回值

weixin_44795234的博客 291

Python 零基础入门——基础语法(三)

本文介绍了Python中函数的基本概念和使用方法。函数是可重复调用的代码块,通过参数接收输入,经过处理后返回结果。文章详细讲解了函数的定义语法、参数传递、返回值、变量作用域等核心概念,并演示了链式调用、嵌套调用和递归等高级用法。函数能提高代码复用性、可读性和可维护性,是Python编程的重要工具。通过学习本文,读者可以掌握如何定义和调用函数,理解参数传递机制,并学会使用函数解决实际问题。

LH__1314的博客 8012

Python基础学习笔记(四)函数和代码复用

Python基础学习笔记(四)函数和代码复用函数的定义和使用示例代码复用和函数递归示例附-PyInstaller库 函数的定义和使用 1、函数理解与定义 函数是一段具有特定功能的、可重用的语句组,是一种功能的抽象,基本作用是降低编程难度和代码复用。 def <函数名>(<参数>): <函数体> return <返回值> 2、函数使用和调用 调用时要给出实际参数,实际参数会替换掉定义中的参数,函数调用后得到返回值。 函数参数传递: 可以有参数也可以没有,但

weixin_45275365的博客 795

python第五周小测验答案_MOOC《Python语言程序设计》第五周测试题

MOOC《Python语言程序设计》第五周测试题单项选择题1.以下选项不是函数作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬A.复用代码B.增强代码可读性C.降低编程复杂度D.提高代码执行速度正确答案 D函数不能直接提高代码执行速度。2.下列程...

weixin_39793553的博客 1312
XSSRBKM
博客等级 码龄6年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值