一、函数的定义
二、函数的调用
三、形参和实参
(1)形参:函数定义时的参数(变量名称)
(2)实参:函数调用时的参数(具体值)
(3)传递:一定是实参传递给形参
四、案例:绘制七段电子数码管时间
0、导入库模块
In [ ]:
import turtle #导入turtle画图库,其方法前面必须添加库名
from turtle import * #导入turtle换图库,其方法前面一定不能添加库名
from random import * #导入random随机库,其方法前面一定不能添加库名
import time #导入time时间库,其方法前面必须添加库名
1、绘制单段间隔
In [ ]:
def drawGap():
penup() #将画笔设置成飞行模式
fd(5) #将画笔向前行进5像素
2、绘制单段数码管
In [ ]:
def drawLine(draw):
drawGap() #调用间隔函数
if draw:
pendown() #将湖北设置成画图(工作)模式
else:
penup()
fd(40) #画笔向前行进40像素
drawGap() #第2次调用间隔函数
right(90) #将画笔向右(前进向下)旋转90度
3、绘制单个数字
In [ ]:
def drawDigit(digit):
#绘制第1段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) #用if表达式判断画与不画
#绘制第2段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) #用if表达式判断画与不画
#绘制第3段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) #用if表达式判断画与不画
#绘制第4段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [0,2,6,8] else drawLine(False) #用if表达式判断画与不画
left(90) #将画笔向上(前进向左)旋转90度
#绘制第5段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) #用if表达式判断画与不画
#绘制第6段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) #用if表达式判断画与不画
#绘制第7段
pencolor(random(),random(),random()) #设置绘制每一段数码管的画笔颜色
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) #用if表达式判断画与不画
left(180) #将画笔旋转180度(前进反方向)
penup() #将画笔设置飞行模式
fd(20) #将画笔前进20像素
4、获取绘制的时间和数字
In [ ]:
def drawData(date):
for i in date:
#drawDigit(eval(i)) #将输入或获取的时间字符转换成数值类型并循环打印\
if i =='-':
write('年',font=("楷体",20,"normal"))
fd(40)
elif i =='-':
write('年',font=("楷体",20,"normal"))
fd(40)
5、编写主函数(设置画布和画笔的属性)
In [40]:
def main():
setup(1500,350,0,200) #设置画布的宽和高以及原点坐标
bgcolor('black') #画布的颜色为黑色
speed(200) #画笔工作的速度为200Ps
pensize(5)
penup()
fd(-600) #将画笔反方向移动600像素
#drawData(input('请输入你的生日日期:')) #请输入函数drawData,从键盘上输入时间数字
time,strftime('%Y-%m=%d+%H:%M*%S$')
hideturtle() #隐藏画笔
done() #关闭画图功能
In [34]:
time.time()
Out[34]:
1697598866.6209726
In [36]:
time.localtime()
Out[36]:
time.struct_time(tm_year=2023, tm_mon=10, tm_mday=18, tm_hour=11, tm_min=15, tm_sec=50, tm_wday=2, tm_yday=291, tm_isdst=0)