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("")                    #添加一行空白
最后修改:2020 年 09 月 16 日
如果觉得我的文章对你有用,请随意赞赏