46.for循环嵌套之九九乘法表
46.for循环嵌套之九九乘法表
文章目录
- 46.for循环嵌套之九九乘法表
- 1. 目标任务
- 2. 完成第1行输出
- 2. 分析前3行规律
- 3. 编写第1行代码
- 4. 编写前2行代码
- 5. 调整输出格式
- 6. 完成总代码
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.for循环嵌套之九九乘法表相关推荐
- Python使用循环嵌套输出九九乘法表
Python使用循环嵌套输出九九乘法表: 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1. 首先输出9行,循环输出 i= 1 while i <= 9:print(i ...
- Java使用循环嵌套打印九九乘法表
使用循环嵌套打印出九九乘法表. 写的非常简单: 缕清逻辑 简单一点就是 外层循环控制行数 内层循环控制列数 //此处注意对嵌套的理解,避免发生错误.for (int i = 1; i <= 9; ...
- 循环嵌套案例——九九乘法表
打印输出九九乘法表: 在打印九九乘法表之前,先来看一个简单的循环嵌套案例: 打印 % %% %%% %%%% 在循环嵌套中,外层循环为行,内层循环为列. #include<iostream> ...
- 利用循环嵌套输出九九乘法表
package demo10_24;public class 九九乘法表 {public static void main(String[] args) {int i,j;for(i=1;i<= ...
- 利用双重循环嵌套制作九九乘法表
循环嵌套是指一个循环里面嵌套了一个循环 while循环实例: var str = "<table>";var row = 10;var col = 10;var i = ...
- Java技巧:用一个循环语句输出九九乘法表!
同学们在进行编程学习的时候,输出九九乘法表应该是基础中的基础了,只要我们使用几个循环语句即可轻松实现,那么你有没有想过如果只用一个循环语句应该怎么实现呢? 分析:注意是使用一个循环语句来写,增加了逻辑 ...
- c语言用while循环输出九九乘法表,用C语言的while循环,打印九九乘法表
用C语言的while循环,打印九九乘法表 用C语言的while循环: #include int main(void) { int row = 1; while (row <= 9) { int ...
- c语言编写while乘法表,用C语言的while循环,打印九九乘法表,
用C语言的while循环,打印九九乘法表, 用C语言的while循环,打印九九乘法表 用C语言的while循环: #include int main(void) { int row = 1; whil ...
- Java只用一个循环语句输出九九乘法表
同学们在进行编程学习的时候,输出九九乘法表应该是基础中的基础了,只要我们使用几个循环语句即可轻松实现,那么你有没有想过如果只用一个循环语句应该怎么实现呢? 分析:注意是使用一个循环语句来写,增加了逻辑 ...
最新文章
- Echarts柱状图的点击事件
- Mac OS X 10.9.3 Beta 8升级教程
- EXPRESS.JS再出发
- linux脚本硬盘,Linux mount挂载和卸载硬盘脚本分享
- 【poj1284-Primitive Roots】欧拉函数-奇素数的原根个数
- 排序算法专题-基数排序
- java面试erp项目经验_ERP项目经验总结
- 关于PMP考试的流程,很实用
- 中国计算机学会CCF推荐国际学术会议和期刊目录
- 夜的钢琴曲五—吉他指弹
- 台式电脑主板插线步骤图_台式机电源线接法图解(电脑主板接线图解高清图)...
- android源码定制之初探--定制android关机界面
- noip2011 观光公交 (贪心)
- 【FLASH】报错“必要的系统组件未能正常运行,请修复Adobe Flash Player”及 error#2046
- 计算机辅助设计绘图员一级,计算机辅助设计绘图员(AUTO CAD)中级证简介
- RAD Studio 11中文发布会录像
- 解决mysql 修改密码报错
- 百度竞价账户选对关键词究竟有多重要?如何进行关键词筛选
- 求大神指点---太乐了
- springboot实现excel文件下载的功能
热门文章
- ps校色调色/通道抠图
- Android 中Canvas的save(),saveLayer()和restore()解析
- PDOStatement::fetchAll
- DOM- 网页特效篇
- h5移动端判断浏览器类型
- HDMI转AV/S-Video单芯片方案/MS1836
- 本地生活O2O战略要领全解析
- phpcms 会员头像h5上传_使用elementui的头像上传组件报错
- android学习记录3:自定义状态栏颜色(android4.4以上)
- powershell:wsus清理已经下载的补丁