Python代码编程基础第07课 缤纷花朵

知识要点

  1. 循环嵌套
  2. for循环嵌套
  3. for循环遍历
  4. turtle函数

一、PPT课件

二、知识要点

1.循环嵌套

嵌套:将一个物体嵌入另一个物体的方法。

循环结构的嵌套:循环语句的内层还有循环语句。

2.for循环嵌套

  • 在循环嵌套结构中,如果循环次数是确定的,可以使用for循环嵌套。

  • 和选择结构的嵌套一样,在程序中写循环嵌套结构的时候要注意缩进。

3.for循环遍历

for循环可以不使用range()函数。

1
2
3
4
# for循环遍历列表
colors = ['red' , 'yellow' , 'blue' , 'purple']
for color in colors:
print(color)
1
2
3
4
# for循环遍历字符串,依次打印出字符:'p' 'y' 't' 'h' 'o' 'n'
string1 = 'python'
for s in string1:
print(s)

4.turtle函数

turtle.bgcolor()设置背景颜色,如:

1
turtle.bgcolor('black')  # 把背景设置为黑色

turtle.circle(a)画半径是a的圆,如:

1
turtle.circle(20)  # 绘制一个半径是20的圆

三、代码示例

1.case

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: utf-8 -*-
# 缤纷花朵项目参考代码

import turtle
import random

turtle.bgcolor('black')
turtle.speed(100)
layer1 = 10
colors = ['white', 'yellow', 'blue', 'orange', 'pink']
turtle.speed(300)

for h in range(5):
for j in range(layer1):
size = 100
for i in range(10):
turtle.color(colors[h % 5])
turtle.circle(size)
size = size - (4 + h)
turtle.right(360 / layer1)

turtle.done()

2.homework

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding: utf-8 -*-
# 课后作业参考代码

import turtle
import random

colors = ['red', 'yellow', 'blue', 'brown', 'green', 'orange', 'pink']
for i in range(6):
for j in range(6):
turtle.pu()
turtle.goto(-200 + 50 * j, 200 - 50 * i)
turtle.pd()
turtle.fillcolor(colors[random.randint(0, 6)])
turtle.begin_fill()
for h in range(4):
turtle.forward(50)
turtle.right(90)
turtle.end_fill()

turtle.done()

3.plus

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
# 拓展: 用循环嵌套打印出金字塔!
# print(x, end = " ") 字符串结尾不换行,而是添加一个空字符串
# \n 换行符

for i in range(1, 6):
for j in range(6 - i):
print(" ", end = " ")
for j in range(1, i):
print("*", end = " ")
for i in range(i, 0, -1):
print("*", end = " ")

print("\n")

4.plus2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# -*- coding: utf-8 -*-
# 第7课的拓展2
# 图中的灰色线条是平行的还是弯曲的? 用循环嵌套实现这个神奇的图案吧!

import turtle
import random

turtle.tracer(0)


def drawSquare(x, y):
# 定义画白色正方形的函数
turtle.pu()
turtle.goto(x, y)
turtle.pd()
turtle.color('white')
turtle.begin_fill()
for i in range(4):
turtle.forward(55)
turtle.right(90)
turtle.end_fill()


for i in range(10):
# 画黑底灰色边框的长方形
turtle.color('gray', 'black')
turtle.pensize(3)
turtle.pu()
turtle.goto(-300, 300 - 60 * i)
turtle.pd()
turtle.begin_fill()
for j in range(2):
turtle.forward(600)
turtle.right(90)
turtle.forward(60)
turtle.right(90)
turtle.end_fill()

x = -300
rValue = random.randint(0, 30)
# 绘制白色正方形
while x < 300:
drawSquare(x + rValue, 300 - 60 * i)
x += 120

turtle.done()