1.课前阅读

1.1学习目标

①了解Python编程语言中的三大编程结构。

②重点:Python中如何使用顺序、循环、选择结构。

③学习第一个Python库函数。

1.2实践内容

①学习使用Python语言中有关顺序结构来绘制正方形。

②学习使用Python语言中循环结构绘制五角星。

1.3情境引入

当你接触的编程语言较多时,我们会发现目前有一大部分编程语言,都有三种编程结构,来解决一切问题,那就是顺序、选择、循环。


对于这中包含3种编程结构的结构化编程,它的基本思想是有序的控制流程,即把程序的执行顺序限制为顺序、选择、循环这三种;把共通的处理归结为例程。

2.解决简单的问题

2.1问题描述

如何通过编程使计算机在屏幕上,绘制几何图案?


2.2思路引导

这个问题只分为3步:

第一步,学习如何在Python语言中画点、画线、画圆。

第二步,分析几何图形应该怎么画。

第三步,按照输出的顺序,进行绘制。

3.理论知识基础

3.1编程中的三大结构

与大多数编程语言的结构相同,Python也有着三大结构,它们分别是:顺序结构、循环结构、选择结构。


这个其实是针对于我们的代码而言的。

3.1.1顺序结构

这是指,代码由上至下,一行一行由上至下依次执行。告诉计算机执行完某句指令后,再执行另一条语句。

print("这是第1句")

print("这是第2句")

print("这是第3句")

运行结果:


3.1.2循环结构

循环是指重复,重复相同的指令或动作,但这个动作不一定效果完全相同。这里主要介绍两种循环。

3.1.2.1while循环

while后面跟着的是条件,当条件符合时,就一直进行里面的代码,循环内部的代码通过一个缩进来表示。也就是只循环while后有缩进的语句。

while 1:#一直循环

print("这是第1句")

运行结果:


3.1.2.1for循环

for循环也是会有一个循环的条件,但与while比较,它们各自有不各自的应用场景。

for count in range(3):#循环3次

print("这是第1句")

运行结果:


3.1.3选择结构

如果只依靠顺序与循环,编程是不够完整与灵活的,因为程序中会出现一些我们也不清楚的情况,这时需要根据不同的情况来运行相应的代码。

if 条件符合:

print("a等于1")

else:

print("a不等于1")

注:①其他语法遵从Python编程,可以自行在网上查询使用。

②由于选择语句需要搭配变量一起执行,所以用伪代码表示。

3.2Python绘图库turtle

3.2.1如何调用Python库

海龟绘图很适合用来引导孩子学习编程。最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。

调用turtle只需要在代码最前面使用import turtle

3.2.2绘图库turtle如何使用

请想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.fd(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。

3.3绘制正方形

3.3.1思路引导

画一条长200的线,

向右转90度

画一条长200的线,

向右转90度

画一条长200的线,

向右转90度

画一条长200的线,

向右转90度


3.3.2参考例程

import turtle
turtle.fd(200)
turtle.right(90)
turtle.fd(200)
turtle.right(90)
turtle.fd(200)
turtle.right(90)
turtle.fd(200)
turtle.right(90)

运行结果:


3.4绘制五角星

3.4.1思路引导

1画个最简单的五角星,在白纸上,不涂颜色,只有黑线条;

2不对星星做定位,随便找个地方画;

3五角星的五条边的长度是一样的,我们把变长定成 200 长;

4按一定角度(144度)重复画5次就能得到一个五角星;


伪代码:

使用绘图库

重复5次:

画一条长200的线

向右转144度

3.4.2参考例程

import turtle
for count in range(5):
turtle.fd(200)
turtle.right(144)

运行结果:


4.课后练习

你能通过今天所学到的知识点来尝试绘制六边形吗?

4.1参考答案

import turtle
for count in range(6):#循环6次
turtle.fd(100)
turtle.right(60)

4.2运行结果