0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是for循环嵌套之九九乘法表

汽车电子技术 来源:安迪python学习笔记 作者:安迪python学习笔记 2023-02-23 11:51 次阅读
    1. 目标任务
    1. 完成第1行输出
    1. 分析前3行规律
    1. 编写第1行代码
    1. 编写前2行代码
    1. 调整输出格式
    1. 完成总代码

1. 目标任务

本节的任务是利用for循环嵌套编写九九乘法表。

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

怎样才能输出上面的九九乘法表呢?

在我们没有思路的时候,我们先把任务拆分,然后试着找到编写规律。

2. 完成第1行输出

【目标任务】

原样输出1*1=1

x = 1
y = 1 
print("%d*%d=%d" % (x, y , x*y))

【终端输出】

1*1=1

不理解%d作用的需要先回看上一节《45.%占位符格式化处理》的内容。

【语法】

(要输出的内容 % 要格式化的变量或数值)

"%d*%d=%d"是最后要输出的内容的模板。

%是格式化占位符。

x, y , x*y是3个要格式化的变量,分别替换输出模板中的%d.

2. 分析前3行规律

【输出内容】

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

【分析规律】

第1行:x=1,y=1

第2行:x=1、2,y=2

第3行:x=1、2、3,y=3

我们发现y的值在每一行都是固定的,第1行y=1,第y=2,第3行y=3。

x的值是不固定的,它和y有一定的关联。

y=1时,x=1

y=2时,x=1,2

y=3时,x=1,2,3

x的值总是从1开始到y结束,且两个数之间差1。

我们可以很快速的想到range函数可以实现这个输出。

x和y是要联系在一起的,因此这里用y+1来控制x的值。

range函数含前不含后,因此,当x要取1的时候,range函数要以y+1结束(不含)。

【y = 1】

y = 1
print(list(range(1,y+1)))

【终端输出】

[1]

【y = 2】

y = 2
print(list(range(1,y+1)))

【终端输出】

[1, 2]

【y = 3】

y = 3
print(list(range(1,y+1)))

【终端输出】

[1, 2, 3]

3. 编写第1行代码

值是变动的,且每次取出的数值是不一样的,我们考虑用range函数来生成值,用for循环来取值。

y在每一行都是固定的,因此我们可以把y写成for循环的外循环。

x每次都是从1开始,到等于y值结束,因此x要写成for循环的内循环。

同样先完成第一行代码的编写。

for y in range(1,2):
    for x in range(1,y+1):
        print("%d*%d=%d" % (x, y , x*y))

【终端输出】

1*1=1

4. 编写前2行代码

1*1=1

1*2=2 2*2=4

第2行,y=2,外循环的range的范围为1到3(不含3)。

for y in range(1,3):
    for x in range(1,y+1):
        print("%d*%d=%d" % (x, y , x*y))

【终端输出】

1*1=1
1*2=2
2*2=4

5. 调整输出格式

观察输出结果,发现输出的格式和我们要的不一样。

再观察九九乘法表,我们发现每一行输出以后都有一个换行。

因此在每一次内循环执行完毕后我们都添加一个换行print( )

因为每1行的2个表达式之间都有一个空格,因此我们在内循环中添加一个空格end = " "

end表示打印完最后一个值需要添加的字符串,用来设定输出语句以什么结尾。

end = " ":end引号中有1个空格,意思是输出完表达式后在输出一个空格。

for y in range(1,3):
    for x in range(1,y+1):
        print("%d*%d=%d" % (x, y , x*y),end = " ")
    # 内循环结束,输出一个换行
    print()

【终端输出】

1*1=1 
1*2=2 2*2=4

6. 完成总代码

乘法口诀共有9行,外循环需要循环9次,y的取值范围为1到9。

for y in range(1,10):
    for x in range(1,y+1):
        print("%d*%d=%d" % (x, y, x*y),end = " ")
    # 内循环结束,输出一个换行
    print()

【终端输出】

1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

图片

46-1九九乘法表

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 循环
    +关注

    关注

    0

    文章

    92

    浏览量

    15945
  • 编写
    +关注

    关注

    0

    文章

    29

    浏览量

    8423
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15782
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 059.嵌套循环练习_九九乘法表_打印表格数据

    编程语言python
    Mr_haohao
    发布于 :2022年08月25日 20:04:38

    #硬声创作季 20循环经典案例九九乘法表

    编程语言python经典
    Mr_haohao
    发布于 :2022年08月26日 13:49:29

    #硬声创作季 #嵌入式C程序设计 226 循环嵌套_输出九九乘法表

    嵌入式C程序
    发布于 :2022年12月19日 14:23:59

    Java语言基础编程学习66-嵌套循环练习九九乘法表

    JAVA
    电子学习
    发布于 :2023年01月16日 14:02:11

    从零开始学Python Day3:17-循环嵌套打印九九乘法表

    python
    电子学习
    发布于 :2023年02月03日 16:28:05

    从零开始学Python Day3:25-for循环嵌套打印九九乘法表

    python
    电子学习
    发布于 :2023年02月03日 18:05:40

    083. while循环:5.18 while循环嵌套应用之九九乘法表 #硬声创作季

    循环
    充八万
    发布于 :2023年07月07日 07:05:36

    53.Python教程:4.18 打印九九乘法表 #硬声创作季

    python
    充八万
    发布于 :2023年07月12日 00:55:18

    486 JavascriptJS语句 练习 九九乘法表

    编程语言函数代码
    充八万
    发布于 :2023年07月26日 01:09:54

    九九乘法表

    基于LabVIEW的九九乘法表
    发表于 06-18 11:38

    基于LabVIEW的九九乘法表

    发表于 12-23 16:42

    如何利用Linux逻辑文件系统去设计一种九九乘法表

    Linux下的逻辑文件系统有何功能?如何利用Linux逻辑文件系统去设计一种九九乘法表呢?
    发表于 12-23 09:22

    使用英特尔数学核心函数库优化三重嵌套循环矩阵乘法

    我们使用英特尔®数学核心函数库(MKL)在Linux *上优化了三重嵌套循环矩阵乘法的版本。
    的头像 发表于 11-07 06:04 3553次阅读

    使用PHP语言编写的九九乘法表程序资料说明

    本文档的主要内容详细介绍的是使用PHP语言编写的九九乘法表程序资料说明。
    发表于 02-20 11:12 2次下载
    使用PHP语言编写的<b class='flag-5'>九九乘法表</b>程序资料说明

    使用C语言写出的九九乘法表

    本文档的主要内容详细介绍的是使用C语言写出的九九乘法表资料合集免费下载。
    发表于 07-10 08:00 1次下载