《父与子的编程之旅》,11.4可变嵌套循环的问题解答。

numBlocks 

书里是Python2.X,我的是Python3.X,原理没有差别。

分析如下:

0、手动输入input

当 input = 3 时:

numBlocks = 3;

1.外循环 block层:

for 

所以,外层循环 block层 会发生3次大循环,(4 - 1 = 3 次)

即:
1.1 当 block = 1 时,
1.2 当 block = 2 时,

2.中间循环 line层:会发生随着block的值得不同,而line有不同的循环次数

1.1当 block = 1 时:

for 

1.1当 block = 1 时,
中间循环 line层 会发生1次循环,即:
2.1 当 line = 1 时,
内循环 star层 会继续循环。

1.2 当 block = 2

for 

1.2 当 block = 2 时,
中间循环 line 层会发生3次循环,即:
2.2.1 当 line = 1 时,
2.2.2 当 line = 2 时,
2.2.3 当 line = 3 时,
内循环 star层 会继续循环。

2.3 当 block = 3

for 

2.3 当 block = 3 时,
中间循环 line层 会发生5次循环,即:
2.3.1 当 line = 1 时,
2.3.2 当 line = 2 时,
2.3.3 当 line = 3 时,
2.3.4 当 line = 4 时,
2.3.5 当 line = 5 时,
内循环 star层 会继续循环。

如果我没看错问题,您的问题是:

当 第一个 block=1,第一个 line=1 时,第一个 star循环后,为什么打印3个 * ?

3.内循环star层:

1.1 当 block =1,
2.1 line =1 时:

for 

1.1 当 block =1,
2.1 line =1 时:
内循环star层会发生3次循环, 即:
3.1.1 当 star = 1 时,
3.1.2 当 star = 2 时,
3.1.3 当 star = 3 时,
打印print("*")会执行。

下面是划重点!!!

3.1.1 当 star = 1 时,不是说会打印一个star!

而是print("*") 第一次 会打印一个 * 号 !!!

3.1.2 当 star = 2 时,不是说会打印两个star!

而是print("*") 第二次 会打印一个 * 号 !!!

3.1.3 当 star = 3 时,不是说会打印三个star!

而是print("*") 第三次 会打印一个 * 号 !!!

所以,

block = 1 在第一次循环的 block 中:

line = 1 在第一次循环的 line 中:

star = 1,2,3 star会循环3次!

print("*") 第一次star循环会打印1个*, star一共会循环3次,所以会打印3个 *

更多练习题:

如何打印print出以下内容

父与子的编程之旅 python 3 pdf_《父与子的编程之旅》嵌套循环例题解析相关推荐

  1. 没学过编程可以自学python吗-我以前从没学过编程,学Python看什么书?

    互联网的发展带动了各行各业信息化的趋势,一大批高新企业如雨后春笋般出现在大众的视野中.于是,不同类型的软件项目应运而生.在这些琳琅满目的项目中,有企业管理.电商平台.财务报表.金融银行.医疗器械.智慧 ...

  2. python中的文件父路径怎么表达_如何在Python中访问父目录

    所以我有一个朋友给我的Python脚本,但是我没有Python的经验.代码如下:from os import path, chdir, listdir, mkdir, getcwd from sys ...

  3. python中的文件父路径怎么表达_python中的文件父路径怎么表达_如何在Python中访问父目录...

    所以我有一个朋友给我的Python脚本,但是我没有Python的经验.代码如下:from os import path, chdir, listdir, mkdir, getcwd from sys ...

  4. 没学过编程能学python吗_我没学过编程,能否学会Python?

    学习Python编程语言,是大家走入编程世界的最理想选择.那么我没学过编程,能否学会Python?上海Python培训肯定的回答您:of course!完全能学会! 设计大师说过,留白是很好的风景,适 ...

  5. Python中的匿名函数和函数式编程

    Python中的匿名函数和函数式编程 文章目录 Python中的匿名函数和函数式编程 一.匿名函数 匿名函数的格式: 二.函数式编程 map() filter() reduce() 区别 三.'三目运 ...

  6. 基于jupyter编程环境下——Python入门:列表4

    列表 四.操作列表 1.使用列表的一部分 -- 切片 2.元组 Python资料:Python编程XG:从入门到实践. 四.操作列表 1.使用列表的一部分 -- 切片 在前面学习了如何访问单个列表元素 ...

  7. 学习参考《父与子的编程之旅python【第二版】》高清中文版PDF+高清英文版PDF+源代码...

    对于初步接触编程语言的朋友,推荐看一看<父与子的编程之旅第2版>,对于完全编程零基础的很友好! 图文并茂,过多的文字堆垒很容易让人产生厌倦情绪,也更容易让人产生放弃的想法.使用了大量插图, ...

  8. 潘石屹也要学编程了?Python之父:并非人人都需要了解计算机发生了什么

    大数据文摘出品 作者:曹培信 21世纪是编程的时代,几乎人类所做的一切,但凡跟互联网沾点边,都可能涉及到计算机编程,后台的程序跑出的结果通过大大小小的屏幕呈现在我们面前,人们已经觉得这是理所当然的. ...

  9. 数据分析师的编程之旅——Python爬虫预备篇(2)前端设计

    作者:李禹锋,重庆芝诺大数据分析有限公司数据挖掘工程师. 有一个程序猿的岗位叫做前端工程师,当前市场需求量也不小,主要是以HTML5框架(H5).CSS3样式表和JavaScript语言(简称JS)为 ...

最新文章

  1. 探讨UnsupportedOperationException的原因及解决方案
  2. 活锁,也许你需要了解一下
  3. boot jpa mysql postman spring_听说过spring-data-jdbc么?来个最佳实践
  4. Window.navigator
  5. 功能强大的Windows PowerShell
  6. pyecharts学习(part4)--pyecharts饼图
  7. 将递归文件系统遍历转换为流
  8. 学校门口的树C语言算法,C语言校园导游程序设计汇报.doc
  9. 你真的会用Jupyter吗?这里有7个进阶功能助你效率翻倍
  10. 内存非延续分派治理方法
  11. ECharts - dataset组件的用法详解
  12. 天宇优配|利好太多,写不下了!A股港股全线走高,股民嗨了
  13. fullAvatarEditor富头像上传编辑器
  14. 项目管理十大知识领域之间的关系
  15. SSH智能社区住户信息管理系统
  16. HIT CS科班对计算机专业素养的理解
  17. 网页数据库服务器连接超时,数据库连接超时的解决方法
  18. 如何进行产品原型设计
  19. python随机生成英文字符串_Python练习第六题,生成随机字母
  20. vim 常用指令与设置

热门文章

  1. Adobe Acrobat Reader快捷键
  2. 字符序列pascal程序
  3. BZOJ 3143 Luogu P3232 [HNOI2013]游走 (DP、高斯消元)
  4. comsol移动网格_将动网格模型迁移到 5.3a
  5. 64位浮点数_JavaScript 浮点数运算的精度问题
  6. php的异常详解,PHP5中的异常处理详解
  7. python与人工智能的关系_python和人工智能之间的关系是什么?老男孩Python人工智能...
  8. 多线程《一》线程理论
  9. CentOS 7 NAT软路由
  10. cxgrid动态创建列