02 -Python入门- Lesson2 编程入门 - Turtle

02 Python入门 Lesson2 编程入门 - Turtle

文章目录

  • 02 Python入门 Lesson2 编程入门 - Turtle
    • 2.使用 Turtle 绘画
    • 3.开始学习
    • 4.变量
      • 变量 Variable
      • 赋值 Assignment
    • 6.更改颜色
    • 7.模块和方法
    • 8.更改形状
    • 15.循环
    • 17.列表和循环
    • 23.嵌套循环
    • 24.练习 — 更多循环变量 (1/2)
    • 27.考虑错误

2.使用 Turtle 绘画

02 -Python入门- Lesson2 编程入门 - Turtle_第1张图片

这个 Lesson 的内容是画画编程,通过好玩的代码(上图左侧)画出有趣的图案(上图右侧)!注:代码在线上完成即可,如果要安装本地环境请参考 Python 00 导学的指导。这里的指导只是安装 Python,建议安装 Anaconda 集成环境更加方便。

3.开始学习

这节开始,我们得到了新的代码:

import turtle
fred = turtle.Turtle()
fred.color("red")
fred.forward(100)
fred.right(135)
fred.forward(140)
fred.right(135)
fred.forward(100)

对比上一节和上面代码高亮(就是说代码里的不同部分的颜色不同,方便大家识别),我们对比这两个代码:

  1. 首先第一行都是 import turtle。在 Python 语言中,有大量的第三方包,这些包能够提供很多有趣和强大的功能。就相当于 Python 官方版本的扩展,比如这里的 turtle
  2. 接下来,因为已经 import turtle 了,我们就可以使用 trutle 中的画图函数了(就是大家看到的那个可以画图的小三角了),我们就让 fred 来使用 turtle 这个工具来画图了:fred = turtle.Turtle()
  3. 那么接下来我们就能通过命令 fred 来控制画图的细节了:
    1. 设置画笔为红色 fred.color(“red”)
    2. 向前走100距离 fred.forward(100)

4.变量

变量 Variable

上一节的 fred 和修改后的 amy 的术语就是变量。

02 -Python入门- Lesson2 编程入门 - Turtle_第2张图片

赋值 Assignment

变量通过赋值具有实际意义。
02 -Python入门- Lesson2 编程入门 - Turtle_第3张图片

6.更改颜色

字符串就是:一串字符(哈哈哈哈哈,我喜欢这个定义!)要注意一点,Python中,字符串要用引号引起来,否则程序不知道是字符串会报错。所有符号要用英文的,否则会报错!

7.模块和方法

这一节我们来讲下 import turtle 里的这个 turtle,这个turtle 其实就是一个模块,里面打包了好多和画图相关的功能。

模块 module: a file that has a collection of useful code that can be used in other Python programs.

在导入以后,我们就能使用 model 中的方法来控制黄色三角的移动了,调用方式是 .方法名
02 -Python入门- Lesson2 编程入门 - Turtle_第4张图片

另外,也请记住,Python是区分大小写的语句:

注意,Python 区分大小写。例如,在 turtle.Turtle() 中,Turtle() 中的 T 大写了。因此 turtle 与 Turtle 含义不一样。我们说 Python 是一个区分大小写的编程语言。

8.更改形状

下面的代码后面循环会学到,我在代码里面用标注(#开头的行)简单解释下:

for side in [1, 2, 3, 4]:
# in 就是说,在in后面的每个元素都要执行一遍后面的代码
# for 后面的 side 指的是边,这里改成 s,i都可以,只是指代 in 里的一个元素
# 注意循环 for 是用 :结尾的
    amy.forward(100)
    amy.right(90)
    # 以上两个就是要做什么了
    # 先向前100,再右转90
    
# 当[1,2,3,4]循环完成后,4边就画好了    

15.循环

02 -Python入门- Lesson2 编程入门 - Turtle_第5张图片

后续还有详细的解释,这里大家明白 for in :就是一个循环,和画图中的代码是怎么回事就好了。注意 : 后面的循环语句是有缩进的。

17.列表和循环

这里讲了循环中列表的作用,请看懂,详细的将在后面讲解:
02 -Python入门- Lesson2 编程入门 - Turtle_第6张图片

23.嵌套循环

这节看懂即可,后续循环将会详细讲解。后面的练习:

import turtle
anna = turtle.Turtle()
for path in [1, 2, 3, 4]:
    for step in [1, 2, 3]:
        anna.forward(10)

的提示是:每次 anna.forward(10) 被调用时,turtle 将向前移动 10 个像素,总共发生了 12 次,因为 4 × 3 = 12。因此总共向前移动了 120 个像素。

24.练习 — 更多循环变量 (1/2)

这里对解决方案的代码这里做个解释:

for line in [1, 2, 3]:
    amy.color("red")
    amy.forward(50)
    amy.penup()
    if line != 3:
        amy.forward(50)
    amy.pendown()

大家注意到 if 这一行了么?这行的意思是:如果 line 这个变量不等于3,就执行后面缩进的那行代码(前进50像素)。这是一个判断语句。

那么为什么判断是否等于3呢,我们再回来看第一行:for line in [1, 2, 3]: 这个循环会把 1,2,3 循环赋值给 line 这个变量,当最后一次赋值完成后, line = 3。

那么这时根据 if 那行语句,就不再向前了,这是处理画图结束时用到的。

27.考虑错误

这节非常重要,请认真看,学会从程序的提示信息中找到怎样解决问题的方向,3个重点:

  • 用法错误(会有报错信息):
import turtle
alison = turtle.Turtle()
for angle in [15, 30, 45]     # missing colon  缺少冒号
    alison.right 90)          # missing parenthesis  缺少括号
  • 逻辑错误(虽然不会报错,但是得不到想要的结果):
import turtle
michael = turtle.Turtle()
for side in [1, 2, 3, 4, 5, 7, 8]:
    michael.forward(100)
    michael.right(45)
  • 缩进非常严格(再次强调,所有符号都为英文符号!)

你可能感兴趣的:(Udacity,Python,学习指导篇)