Python 第三周① 函数和代码复用 | 您所在的位置:网站首页 › drawline函数 › Python 第三周① 函数和代码复用 |
Python 函数和代码复用
函数的定义和使用函数的定义参数传递可选参数传递可变参数传递参数传递两种方式
局部变量与全局变量lambda函数实例:七段数码管绘制函数递归实例一:将字符串s反转后输出实例二:斐波那契数列实例三:汉诺塔
科赫雪花实例
函数的定义和使用
函数的定义
def ():
return
参数传递
可选参数传递
def (,):
return
可选参数必须放在必选参数之后。 可变参数传递 def (,*b): return*b:可以给出任意数量的参数。 参数传递两种方式举例: def fact(n,m=1): s = 1 for i in range(1,n+1): s *= i return s//m位置传递: >>>fact(10,5) 725760名称传递: >>>fact(m=5,n=10) 725760 局部变量与全局变量
一般情况下,建议使用def函数体。 实例:七段数码管绘制 import turtle,time def drawgap(): turtle.penup() turtle.fd(5) 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) drawLine(True) if digit in [0, 4, 5, 6, 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.pencolor("red") for i in date: if i == '-': turtle.write("年",font=("Arial", 18, "normal")) turtle.pencolor("green") turtle.fd(40) elif i == '=': turtle.write("月", font=("Arial", 18, "normal")) turtle.pencolor("blue") turtle.fd(40) elif i == '+': turtle.write("日", font=("Arial", 18, "normal")) else: drawDigit(eval(i)) def main(): turtle.setup(800, 350, 200, 200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate(time.strftime("%Y-%m=%d+", time.gmtime())) turtle.hideturtle() turtle.done() main()运行结果: 运行结果: |
CopyRight 2018-2019 实验室设备网 版权所有 |