一、函数的定义
二、函数的调用
三、形参和实参
(1)形参:定义函数时的变量名称
(2)实参:调用函数时的实际变量值
(3)传递:一定是实参传递给形参
四、案例:绘制七段电子码管时间
0.导入库模块
#import turtle #导入turtle画图库,其方法前面一定要加库名turtle
from turtle import * #导入turtle库,其方法前面一定不能加库名
from random import * #导入random库,其方法前面一定不能加库名
import time #导入time库,其方法前面一定要加库名time
1.绘制单段数码管道间隙
def drawGap():
penup() #设置画笔为飞行模式
fd(5) #画笔前进5像素
2.绘制单段数码管
def drawLine(draw):
drawGap() #调用间隙函数,增加间隙
if draw:
pendown() #如果函数参数draw为true时画笔工作
else:
penup() #否则画笔扔为飞行模式 画笔禁用工作
fd(20) #画笔向前行进20像素
drawGap() #第二次调用间隙函数,增加间隙
right(90) #将画笔向下(前进向右)旋转90度
3.绘制单个数字数码管
def drawDight(digit):
#画第一段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
#用If...else表达式画第一段数码管
#画第二段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit not in [2] else drawLine(False)
#画第三段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
#画第四段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit in [0,2,6,8,9] else drawLine(False)
left(90) #向上旋转90度
#画第五段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
#画第六段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit in [0,2,3,5,7,8,9] else drawLine(False)
#画第七段数码管
pencolor(random(),random(),random()) #用随机函数设置画笔的颜色
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
left(180) #将画笔反向(180度旋转)
penup() #将画笔设置飞行模式
fd(20) #将画笔前进20px
4.获取绘制数字
(先从键盘上输入数字日期,再从系统中获取数字日期)
def drawData(date):
for i in date:
if i=='-':
write('年',font=("楷体",20,"normal"))
fd(40) #当打印 年 之后将画笔前进40px
elif i=='=':
write('月',font=("楷体",20,"normal"))
fd(40)
elif i=='+':
write('日',font=("楷体",20,"normal"))
fd(40)
elif i==';':
write('时',font=("楷体",20,"normal"))
fd(40)
elif i=='*':
write('分',font=("楷体",20,"normal"))
fd(40)
elif i=='$':
write('秒',font=("楷体",20,"normal"))
fd(40)
else:
drawDight(eval(i)) #将获取的数字(从键盘上或者系统)字符串转换成数据类型
五.编写主函数
(设置画布和画笔属性)
def main():
setup(1500,350,0,200) #设置画布的宽高以及原点坐标(左上角x,y)
bgcolor('black') #设置画布的背景颜色为黑色
pensize(5)
speed(200) #设置画笔工作速度 为200ps
fd(-600) #设置画笔初始位置 将画笔向左移动600px
#drawData(input('请输入你的生日数字:'))#从键盘上获取绘制的数据
drawData(time.strftime('%Y-%m=%d+%H;%M*%S$'))
#从系统中获取相应格式的日期数据
hideturtle() #隐藏画笔
done() #关闭画笔功能
小插曲——时间格式设置
六.调用主函数
if __name__ =='__main__':
main() #当main函数为脚本代码时 执行下面main函数