Function函数

一、函数的定义

二、函数的调用

三、形参和实参

(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)

In [42]:

time.strftime('%Y年%m月%d日%M分%S秒')

Out[42]:

'2023年10月18日21分22秒'

6、调用主函数

In [ ]:

if __name__ == '__main__':    #如果主函数为脚本代码执行下面函数
    main()

In [ ]:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值