专栏首页叶子陪你玩编程【python入门系列课程 第五课 双重循环的威力】

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

前言

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

绘制一排正方形:

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

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

不用循环:

代码:

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()

效果:

使用循环:

代码:

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()换行就可以了。

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

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

本文分享自微信公众号 - 叶子陪你玩编程(gh_cd062460d25e),作者:青叶子

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python图像处理-实现验证码图片(下)

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

    用户7054460
  • 【单片机-序幕】笔记1

    计算机主要有这几个部位组成:中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出...

    用户7054460
  • python鼠标连点器-测试版

    整个过程都是自动完成的,按下空格键,鼠标会在当前位置点击鼠标左键,频率为0.5,再次按下空格键会停止。

    用户7054460
  • 如何让“数字化创新”成为你的素养

    在这个创造性颠覆的数字化时代,前沿技术、消费行为和跨界竞争带来了商业社会的急剧变化,每个组织和企业都面临着转型的挑战和契机。将「数字化创新」变为组织与个人的核心...

    ThoughtWorks
  • 走近科学:“爱因斯坦”(EINSTEIN)计划综述

    “ 爱因斯坦”计划是美国联邦政府主导的一个网络安全自动监测项目,由国土安全部(DHS)下属的美国计算机应急响应小组(US-CERT)开发,用于监测针对政府网络的...

    FB客服
  • Java每日一练(2017/6/15)

    题目要求 本期题目: 1、(单选题) What will be printed when you execute the following code? cla...

    Java学习
  • 解析Spring中的ResponseBody和RequestBody

    spring,restful,前后端分离这些关键词都是大家耳熟能详的关键词了,一般spring常常需要与前端、第三方使用JSON,XML等形式进行交互,你也一定...

    kirito-moe
  • 第30章 生成树协议

    STP(SpanningTree Protocol,生成树协议)是用于在局域网中消除数据链路层环路的协议

    week
  • python http OPTIONS请

    通过发送http OPTIONS请求,可以获取 http允许的方法(我这里主要测试网站是否开启webDav),测试如下:

    py3study
  • 如何使用ABAP发送带有PDF格式附件的电子邮件

    the signature of CL_DOCUMENT_BCS~ADD_ATTACHMENT:

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券