1.二重循环
import turtle
pen=turtle.Pen()
length=100
angle=60
for i in range(2):
for j in range(6):
pen.forward(length)
pen.left(angle)
turtle.done()
- 在内存循环中,程序绘制了一个正六边形
- 由于在外层又添加了一个2次的循环,因为该程序会绘制正六边形两次
实例1:绘制窗花
import turtle
pen=turtle.Pen()
length=100
angle=60
#绘制图形
for i in range(12): #绘制正六边形12次
for j in range(6): #绘制单次正六边形
pen.forward(length)
pen.left(angle)
pen.left(30) #每绘制完毕一次,画笔向左转30度
turtle.done()
实例2:以下代码会打印出什么内容
for i in range(2):
print("这是一个外层循环",i)
for j in range(3):
print("这是一个内层循环"j)
- print函数中的“,”表示连接“,”两边的内容,并且把“,”替换成空格
- 请注意:双重循环需要有两个变量,并且两个变量名称不能一样,否则达不到理想的效果
2.双重循环练习
实例一:绘制迷宫
方法1:单重循环方式
import turtle
pen=turtle.Pen()
pen.speed(0) #调整速度
n=100 #循环次数
for i in range(n):
pen.forward(i*3) #*号表示将i的值乘以3,也就是把i的值扩大三倍
pen.left(90)
turtle.done()
speed()函数表示调整画笔的速度
1.取值为[1,10] 2.取值大于10或者小于0.5,与0的效果一致 3.取值为0,表示跳过动画效果
- 在i*3当中,“*”表示乘法,表示将i的值扩大三倍
方法2:双重循环方式
import turtle
pen=turtle.Pen()
length=2 #设置长度
angle=90 #设置角度
width=2 #设置宽度
#开始绘制
for i in range(20): #一层循环绘制20次,一共绘制20个正方形
for j in range(4): #二层循环绘制4次,绘制单个正方形
pen.forward(length)
length=length+width #长度每次增加width的宽度
pen.left(90)
turtle.done() #绘制完毕
运行效果与方法1一致
实例二:打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(i,"*",j,"=",i*j)
print("") #添加一行空白