文档详情

实验4函数与代码的复用.docx

发布:2025-05-25约6.46千字共10页下载文档
文本预览下载声明

PAGE3

PAGE

实验四

实验组成员

学号

实验组

实验时间

指导教师

严凯

成绩

实验项目名称

函数与代码的复用

实验目的

1.理解函数的概念和作用,即函数能够提高代码的复用。

2.理解函数的概念和作用,即函数能够提高代码的复用。

3.掌握递归函数的编写,如用递归实现斐波那契数列,

4.理解代码复用的重要性,通过参数化函数接口,使程序具有灵活性和可扩展性。

实验内容

defdrawGap():#绘制数码管间隔(线段间的空白)t.penup()#抬笔(移动时不画线)

defdrawGap():#绘制数码管间隔(线段间的空白)

t.penup()#抬笔(移动时不画线)

t.fd(5)#前进5像素,形成间隔

defdrawLine(draw):#绘制单段数码管(是否绘制由draw参数决定)

drawGap()#先画间隔

t.pendown()ifdrawelset.penup()#落笔或抬笔

t.fd(40)#绘制线段(长度40像素)

drawGap()#再画间隔importtime#导入时间模块(可能用于控制绘制速度)

t.right(90)#右转90度,调整方向(用于下一段绘制)

#第1段:a段(顶线段)

drawLine(True)ifdin[2,3,4,5,6,8,9]elsedrawLine(False)#数字0、1、7不显示顶线段(a段)#第2段:b段(右上线段)

drawLine(True)ifdin[0,1,3,4,5,6,7,8,9]elsedrawLine(False)#仅数字2不显示右上线段(b段)#第3段:c段(右下线段)

drawLine(True)ifdin[0,2,3,5,6,8,9]elsedrawLine(False)#数字1、4、7不显示右下线段(c段)#第4段:d段(底线段)

drawLine(True)ifdin[0,2,6,8]elsedrawLine(False)#数字1、3、4、5、7、9不显示底线段(d段)t.left(90)#左转90度,调整方向(从右转向左,绘制左半部分线段)#第5段:e段(左下线段)

drawLine(True)ifdin[0,4,5,6,8,9]elsedrawLine(False)#数字1、2、3、7不显示左下线段(e段)#第6段:f段(左上线段)

drawLine(True)ifdin[0,2,3,5,6,7,8,9]elsedrawLine(False)#数字1、4不显示左上线段(f段)#第7段:g段(中间线段)

drawLine(True)ifdin[0,1,2,3,4,7,8,9]elsedrawLine(False)#数字5、6不显示中间线段(g段)

t.left(180)#左转180度,调整方向(回到初始方向)

t.penup()#抬笔

t.fd(20)#前进20像素(数字间的间隔)

defdrawDate(date):

?#定义了一个名为?drawDate?的函数,该函数接收一个参数?date?,预期?date?是包含日期和时间相关字符的字符串。

t.pencolor(red)foriindate:

?#t.pencolor(red)?:将?turtle?画笔的颜色设置为红色,后续绘图操作默认以红色进行。

#foriindate:?:对传入的?date?字符串中的每个字符进行遍历。ifi==_:

t.write(年,font=(Arial,18,normal))t.pencolor(green)t.fd(40)

?#当遍历到的字符?i?为?_?时:t.write(年,font=(Arial,18,normal))?:使用Arial字体、字号18、常规样式,在绘图窗口中写入汉字?年?。t.pencolor(green)?:将画笔颜色更改为绿色。t.fd(40)?:让画笔向前移动40个单位距离。elifi===:

t.write(月,font=(Arial,18,normal))t.pencolor(blue)t.fd(40)

?#当字符?i?为?=?时:写入汉字?月?,将画笔颜色改为蓝色,画笔向前移动40个单位。elifi==+

显示全部
相似文档