一、课程介绍
本节课学习函数定义与使用,并借此绘制出漫天星光。
二、重难点解析
函数的定义和调用
对函数的理解:
把实现某种功能的多行代码包装成一个函数,并取好函数名。后面可以通过调用这个函数实现相应的功能,从而实现简化代码的效果、复用的作用。
我们平常使用的方法如 forward() 等都是函数。
函数的特点:
1、简化代码
2、必须先定义后调用
3、函数调用次数并无限制
函数的定义:
把实现某种功能的代码包装成函数,并取与功能相关的函数名字。
定义格式:
def 函数名():
#实现某种功能的代码
xxxxxx
xxxxxx
注意:def 是定义函数的关键词,必不可少,同时也要留意括号、冒号、缩进。
函数的调用:
完成函数的定义后,直接调用函数来实现相应的功能。
调用方式:函数名加上括号
函数名()
示例:
import turtle
p = turtle.Pen()
p.ht()
#定义画正方形的函数
def square():
p.begin_fill()
p.fillcolor('gold')
for i in range(4):
p.forward(30)
p.right(90)
p.end_fill()
#调用函数
square()
turtle.done()
三、单词卡
star [stɑːr] 星
四、小试牛刀
4.1 源码操作
使用函数定义一个可以绘制正方形的函数,并且调用它绘制出一个红色正方形。
import turtle
p = turtle.Pen()
p.ht()
# 定义一个可以任意改变正方形内部颜色的函数
def square():
p.begin_fill()
for i in range(4):
p.left(90)
p.forward(100)
p.end_fill()
# 调用函数
p.fillcolor("red")
square()
turtle.done()
4.2 源码操作
随机在屏幕上绘制出 30 朵小红花, x 坐标的随机范围为-700~700,y 坐标的随机范围为 -400~400。
提示:
- 小红花的边长为 30,宽度为 10,颜色为红色(red)
- 小红花边长间的夹角为 72
import turtle
import random
p = turtle.Pen()
p.ht()
turtle.tracer(0)
# 定义一个可以任意改变正方形内部颜色的函数
def flower():
# 移到随机位置
x = random.randint(-700, 700)
y = random.randint(-400, 400)
p.penup()
p.goto(x, y)
p.pendown()
for i in range(5):
p.forward(30)
p.forward(-30)
p.left(72)
# 调用函数
p.pencolor("red")
p.pensize(10)
for i in range(30):
flower()
turtle.update()
turtle.done()
五、扩展创作
import turtle
import random
p = turtle.Pen()
turtle.bgpic('sky1.gif')
turtle.tracer(0)
def star():
x = random.randint(-700,700)
y = random.randint(-400,400)
p.penup()
p.goto(x,y)
p.pendown()
for i in range(5):
p.forward(10)
p.right(144)
for i in range(60):
p.pencolor('white')
star()
p.pencolor('yellow')
star()
p.pencolor('pink')
star()
turtle.update()
turtle.done()
六、大开脑洞
用函数来画个图形吧!!
import turtle
p = turtle.Pen()
p.ht()
p.pensize(5)
p.pencolor("red")
# 定义正方形
def square():
p.forward(200)
p.left(90)
# 定义三角形
def triangle():
p.left(60)
p.forward(200)
p.right(120)
p.forward(200)
#p.right(120)
#p.forward(200)
for i in range(4):
square()
triangle()
turtle.done()