【python入门系列课程 第五课 双重循环的威力】

2020-03-12 15:18:43 浏览数 (1)

前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

绘制一排正方形:

前面利用循环绘制一个正方形还是挺方便的,那要绘制4个正方形或者更多呢?

因为绘制每个正方形的方法都是一样的,自然而然就想到用循环。

不用循环:

代码:

代码语言:javascript复制
import turtle
pen = turtle.Pen()
for i in range(4):
    pen.forward(30)
    pen.left(90)
pen.forward(40)
for i in range(4):
    pen.forward(30)
    pen.left(90)
pen.forward(40)
for i in range(4):
    pen.forward(30)
    pen.left(90)
pen.forward(40)
for i in range(4):
    pen.forward(30)
    pen.left(90)
turtle.done()

效果:

使用循环:

代码:

代码语言:javascript复制
import turtle
pen = turtle.Pen()
for j in range(4):
    for i in range(4):
        pen.forward(30)
        pen.left(90)
    pen.forward(40)
turtle.done()

效果图:

解释:

前面说了只要是重复的动作就可以使用循环,然后循环里面的内容就需要缩进,这里通过for的嵌套循环就可以实现了。

任务拓展:打印九九乘法表

先看乘法表长什么样。

先竖着观察,第一列是从1到9,这个用一个for循环就实现了。

横着观察可以发现,两个乘数第一个代表第几行,第二个是不断增加的,刚好从1到第几行。所以第二个循环里面就是从1到i 1(因为range取不到最后一个数,所以加1)

但是没有在一行显示,如何显示在一行?

这里看一个例子:

解释:

print()默认完会换行,这里在print()里面加一个end=' ',表示不换行,所有内容用end的空格进行连接了。

知道怎样在一行显示后,再来改改刚才的内容。

看上去好像挺像了,仔细看会发现,新的一行总会接着上一行最后一个内容后面,这是怎么回事呢?原因是因为第二个循环里面的print()是有end=""的,执行完里面的循环后,会开始新的一轮循环,这个时候由于前面的print是没有换行作用的,所以最后就会连在一起了,解决方法也很简单,只要在里面循环结束后加一个print()换行就可以了。

现在看上去好像就没什么问题了,接下来就是把文字变成数学公式就可以了。

大功告成,没问题了(格式调整可以自己试试字符串的格式化方法)

0 人点赞