点击蓝字关注我们

张老师讲编程--和爸爸妈妈一起学Python

Python 的编辑器有很多,例如 PyCharm、Spyder、Notepad++等等,大家根据需要选择一个就好,初期程序代码量不大,直接使用 Python IDLE 也是很方便的。

第八课 周而复始为循环2

小伙伴们,上节课我们学习了Python中while循环语句的基本用法,我们知道了while循环语句的基本结构为:

while :

[语句块]

我们用个例子来回忆一下。

例如,计算10以内整数乘法,我们编写的代码大致是以下的样子:

i = 1

n = 1

while i < 10 :

n = n * i

i = i + 1

print("n=",n)

现在我们在上节课的基础上,思考一个问题,前边我们学习过分支语句中嵌套另一个分支语句,那么如果我们在循环语句中再嵌套一个循环语句是什么样子呢?

我们一起完成个任务,来计算九九乘法表,如下图所示:

为了更好地理解和编写代码,我们先看一下乘法口诀表的规律:

1.它是两个10以内整数的乘积,我们可以用表达式 i*j=ij 表示,即最终打印函数为 print(i,"*",j,"=",i*j)

2.第一行i = 1;第二行i = 2;以此类推第九行i = 9,也就是说,最外边的循环,一共9次,从1开始,每次加1,即最外层while语句为:

while i <= 9 :

[语句块]

3.     第一行打印了1组1 * 1= 1;第二行打印了2组2 * 1 = 2     2 * 2 = 4 ;以此类推,第九行打印了9组9 * 1 = 9     9 * 2 = 18     9 * 3 = 27     9 * 4 = 36     9 * 5 = 45     9 * 6 = 54     9 * 7 = 63     9 * 8 = 72     9 * 9 = 81;也就是说,每一行打印的组数小于等于这一行i的大小,即:第i行打印i组,换句话说,如果用循环表示,就是每一行循环的次数小于等于i。

基于这三点,我们即可以编写以下代码:

i = 1

while i <= 9:

j = 1

while j <= i:

print(i,"*",j,"=",i*j,end="   ")

j = j + 1

print()

i = i + 1

运行后为:

其中,第一个print函数里边我们使用了end=" " ,end是print函数的参数,用来描述打印函数的结束方式。我们之前学习了print函数,正常的print函数每运行一次,就会自动换行,例如:

print("123")

print(2*3)

print("hello")

运行后为:

123

6

Hello

如果我们希望,print运行后,继续打印而不换行,就可以在print函数中加入end="",例如:

print("123",end="")

print(2*3,end="")

print("hello",end="")

运行结果为:

1236hello

如果我们将其改为end=" ",即在""中加入空格,例如:

print("123",end=" ")

print(2*3,end=" ")

print("hello",end=" ")

运行结果为:

123 6 hello

大家可以再试试将其改为end=";",即在""中加入分号,效果是什么?再看看将其改为end="\t",即在""中加入\t,看看效果是什么?

细心的同学可能会发现我们打印的乘法口诀表有一个小问题,那就是第三列和第四列不是非常整齐,我们应当如何处理呢?

这里又用到了print函数的另一个特性,格式化输出print函数的格式化输出能够为打印出来的内容提前设定一个格式,因为格式化输出对于青少年有一定难度,我们不做详细讲解,我们就来看一下它的效果。

我们根据格式化输出,重写一下乘法口诀表代码:

i = 1

while i <= 9:

j = 1

while j <= i:

print("%d*%d=%-2d"%(i,j,i*j),end="\t")

j = j + 1

print()

i = i + 1

我们执行以上代码,就会出现:

是不是格式非常整洁?这就是print函数格式化输出的作用,即print("%d*%d=%-2d"%(i,j,i*j),end="\t")一句的效果。

在这一语句中,我们可以把print函数后边看成由三部分组成。

1.第一部分是"%d*%d=%-2d",这一部分用来定于print函数输出的格式,其中的%d代表任意一个格式化整数,这一句是告诉系统,让它打印时按照这样一个格式打印:

1位整数*1位整数=2位整数

也就是说无论乘法结果实际为1位(例如4)还是2位(例如16),系统都会预留出2位整数的位置,这样也就确保了格式的整齐。

注意到其中-2d中的负号了吗?猜猜它是什么意思?你可以试一下将-2变成2,看看是什么效果。

它会变成这样:

看出区别了吗?再仔细看看......

2.第二部分是(i,j,i*j),它是告诉系统,前边格式中的三个%d,依次为i,j,i*j

3.第三部分是end="\t",我们在前边已经讲过,不再赘述。

因为乘法口诀表是整数之间的运算,所以我们使用了%d,实际上print函数的格式化输出还可以用来进行其他进制数值、字符串等的格式化输出,具体符号如下所示,其使用方式与格式化整数%d使用相近,在这里就一一讲解。我们在后边的课程中遇到具体应用时,再给大家细致讲解。

好啦,今天的课程分享就到这里,让我们下期再见吧!

公众号ID:TJKJG2013扫码关注最新动态

打印循环换行_科学向日葵在线课堂 ——张老师讲Python 第八课 周而复始为循环2...相关推荐

  1. 打印循环换行_一个案例轻松认识Python 循环语句(for)——10以内的素数

    编写程序输出10以内的素数.素数一般指质数.质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 一.for 语句 for循环可以遍历任何序列的项目,如一个列表或者一个字符串. fo ...

  2. python3打印如何换行_浅谈Python3中print函数的换行

    Python3中print函数的换行 最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来 ...

  3. 数据结构python学生成绩排序_科学网—数据结构之排序一(python实现) - 郗强的博文...

    本文介绍三种简单的排序算法,包括选择排序.冒泡排序和插入排序.同样每个python的排序函数都是在一个整数列表上进行操作的. 一.交换函数 在每个排序函数中都会使用一个swap函数来交换列表中两个元素 ...

  4. 利用python制作一个名片_教你做一张能运行 Python 的名片,成本只要20元!

    SegmentFault 思否社区有一群卓越的开发者,他们热衷于分享知识与经验,他们布道技术未来,他们让众多开发者受益,他们叫「Top Writer」. 2019 年即将过去,SegmentFault ...

  5. python名片制作代码_教你做一张能运行 Python 的名片,成本只要20元!

    原标题:教你做一张能运行 Python 的名片,成本只要20元! 作为一名普普通通的开发者,改变世界估计是办不到了,但可以让世界更 Geek 一些. 极客名片的诞生 如标题所说,表面上看这是一个名片, ...

  6. python编写一个名片_教你做一张能运行 Python 的名片,成本只要20元!

    作为一名普普通通的开发者,改变世界估计是办不到了,但可以让世界更 Geek 一些. 极客名片的诞生 如标题所说,表面上看这是一个名片,印着姓名.职位.邮箱.GitHub 地址,但其实它是一台完整的.迷 ...

  7. python编程循环语句_循环语句—Python编程从入门到精通(5)

    第6章.循环语句 在本书上一章的内容中,我们学习了实现条件判断功能的条件语句,让程序的执行顺序发生了变化.为了满足循环和跳转等功能,本章将详细讲解Python语言中循环语句的知识,主要包括for循环语 ...

  8. python中while循环_Python第12课:while循环案例 打印输出有规律的造型

    如何用最浅显的语言,给中小学生讲Python,是我一直在努力并实践的问题. --华丽老师 本节知识点 1.  while 循环 案例:打印输出有规律的造型 2.  分析造型规律 课程贴士 下图是学习P ...

  9. python课件_讲座直播 | Python在线课堂第二周

    本周二.四两晚,由"i 学堂"与我校经济学院WISER CLUB团队联合推出的Python系列课程将继续在线开讲,内容适合Python初学者. 本周直播内容安排如下: 第三讲 Py ...

最新文章

  1. xilinx LVDS使用注意事项
  2. 什么是dBi、dBd、dB、dBm、dBc ?
  3. AI给老照片上色,真的准吗?技术圈和历史圈吵了1000帖
  4. ECCV 2020 《Improving One-stage Visual Grounding by Recursive Sub-query Construction》论文笔记
  5. win8.1远程连接Redis数据库
  6. Ubuntu16.04下安装MySQL
  7. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
  8. python 实例方法 类方法_Python实例方法 静态方法 类方法
  9. C#字节数组转换成字符串
  10. char装cstring_MFC中char*,string和CString之间的转换-阿里云开发者社区
  11. fastmock模拟常见数据结构
  12. 如何给页面加能够临时会话的QQ
  13. 软件测试方法(单元测试、集成测试、系统测试、确认测试)
  14. sql数据库中毒,扩展名被改为.supporthelpgood​,.666decrypt666​​​​​​,.xxxxx,.dom,勒索病毒加密该如何恢复数据
  15. win8.1中文版开启远程桌面
  16. a级纳税人数据问题记录
  17. MeGUI入门教程(2012.12.14更新)
  18. 2023年天津天狮学院专升本市场营销专业《市场营销学》考试大纲
  19. linux 命令行语法错误,sudo命令:解决使用Linux命令行时出现的错误提示
  20. 史上最牛分析MySQL索引机制的实现!不接受反驳!

热门文章

  1. Pytorch 多 GPU 并行处理机制
  2. 王道考研 计算机网络笔记 第五章:传输层
  3. 编译器设计-代码优化
  4. TorchScript神经网络集成技术
  5. 点云配准的端到端深度神经网络:ICCV2019论文解读
  6. Cookie和Session的区别与联系
  7. CentOS7安装Python3详细步骤与Python2共用方法
  8. php xdebug 中文手册,php 安装xdebug扩展
  9. python random 随机生成一个数
  10. 小程序加载大图片 使用widthFix时,图片先拉伸然后才显示完全