python上三角九九乘法表_第一个boss:九九乘法表,击溃!(第16天)

1、碎碎念

今天看教学视频的时候,弹幕里有一条:如果你看到这里,谢谢你的坚持

忽然就有点小感动。

学习从来不是件轻松的事情,甚至可以说是很反人性的。

躺床上追剧、玩农药、刷抖音不香嘛?

这视频能学到224集,即使跳过前100集,按每集5分钟算,也已经学了620分钟、10个多小时了。

真是值得对着镜子给自己磕个头,佩服的说一句:“您真牛逼!”

ac4d5b33ae5e83882b9fe15ec85afce0.png

昨天看了本书:《微习惯》

书不厚,里面的一些方法还是挺有借鉴价值的。

简单来说,就是别给自己定太过宏大的计划,期望自己用超高的意志力去完成。

自信点,以我们普通人的行动力之低,根本轮不到拼意志力的地步。

正确的做法是,给自己每天定一个微乎其微的小目标,把大任务拆解成很多个小任务,不需要付出什么意志力,然后即时给自己反馈、奖励。

重要的是把习惯养成。

比如本书的作者给自己定的目标是1天只做1个俯卧撑,不知不觉,就把健身当成了一种习惯。

对我学Python的启发就是,每天最起码要打开b站先看起来,然后随手先写点心得,别管写多少,重要的是养成学习Python的习惯。

与各位朋友共勉。

15c0d8c6d418566e96f1c1c9b1d6aac7.png

2、学习概要

今天学习的目标是实现九九乘法表的输出,这可谓是新手村的第一个大boss吧!

当初看这个需求的时候,我是挺蒙的。

因为印象中这个东东在以前学 basic时候好像就弄过,但是当时貌似就稀里糊涂的。

没想到我一个40岁老男人,竟然又感受到了被basic支配的恐惧。

昨天群里看大伙聊天,好几个人都抱怨:“看视频都明白,一敲代码就拉稀!

其实,仔细想想,这不止是学程序,以前上学时候我们也经常有这种经历。

上课听老师讲,脑子说:“我懂了!”手却说:“你懂个锤子!”

39b151bd770e79809383745193d9db6a.png

怎么办?

惟有多练一条道,别无他法。

3、详细内容

循环嵌套(3集)

124集,基本语法:

while 嵌套就是 while 里面还有 while。

python中的缩进真是核心,这语言太适合强迫症患者了。

69b1d9a936f79e41c6a723cf09edc7d9.png

125集,使用字符串运算直接输出小星星:

需求:在控制台连续输出五行,每一行星号的数量依次递增。

这个一开始编个最简单的循环程序输出星星很简单:

ce214e55ea2195ba0ff5276cb441c0f9.png

但是这样只能做到每行只输出一个星星,怎么达到每行递增呢?

我一开始琢磨了 if语句,但是感觉很别扭,总之没有想到特别好的办法。

然后老师只是在 print里面,把原来的 ”*”改为 “*” * row,其他什么也没动就搞定了。

e814359e169f0765e97b44190f689c1f.png

这个操作真是太秀了!

说实话,我真是想破了头,也没想到办法竟然如此简单。

对于编程来说,有个清晰的思路真是太重要了。

82031f5d1779498d59a0cfd9c1273bd1.gif

126集,(扩展)print函数的结尾处理:

在默认情况下, print 函数输出内容之后,会自动在内容结尾增加换行;

如果不希望末尾增加换行,可以在 print函数输出内容的后面增加 ,end=””

其中 “”中间可以指定 print 函数输出内容之后,继续希望显示的内容。

d8e7ad1529ec92c36f87cfd569a4a2a9.png

上图的输出结果就是 *---*

是不是有点萌?

循环嵌套小星星(2集)

127集,输出行并且确定思路:

125集用 字符串的 * 操作拼接字符串,实现了打印小星星,那么,用循环嵌套怎么实现同样的需求呢?

这一集主要是做思路分析,就像我前面说的,编程重要的是思路,打代码倒不是着急的事情。

第一步,完成5行内容的简单输出,这个同上,没什么可说的;

第二步,分析每行内部的 “*” 应该如何处理?

我们发现,每一行要打印的星星就是和当前的行数是一致的;

可以增加一个小的循环,专门负责当前行中,每一 “列”的星星显示。

128集,嵌套循环完整案例:

这一集可以说是教程至今为止,最难的一集,没有之一。

这个循环嵌套里面有个需要思考的地方:

为什么要设定列变量 col <= row?而不能设定为 col == row呢?

这个教程里没讲,我自己使用单步调式按钮才弄明白,这是因为在小循环中, col每次都是从 1开始计数,当 col<= row时,执行小循环中的 print;而当 col >row时,程序跳出小循环,继续执行大循环后面的 row +=1语句。

3d9d249c6198d7671766b941cea58de5.png

九九乘法表(4集)

129集,明确思路和步骤:

最终boss来了,前面说了半天的星星,最终目的就是为了输出 九九乘法表。

通过观察九九乘法表可知,每列乘式的第一个数就是列数,第二个数是行数。

36f173324215cfea6025ce3b95105840.png

可见与前面输出的小星星结构是一样的。

所以,先打印9行小星星,再在此基础上略加改动即可。

130集,打印9行小星星:

这个相当于又把128集的内容温习了一遍,没什么好说的。

cca6893b35f6834c4203bc33e6bf856e.png

131集,九九乘法表数据输出:

这集的关键就是如何把输出的小星星,改为数字。

其实关键就是改变小循环中的 print里面的内容。

先把 * 直接改为 9 *9 = 81,试试输出。

4b8b5338122f487b9d1208865ce5048a.png

嗯,毫无问题。

然后再用 %d 在相应的位置进行替换,于是 print语句变为

print("%d * %d = %d" %(col, row,col * row), end=" ")

shift + f10 运行,成功!

339883020777d2ccc19510aea5879694.png

132集,使用转义字符调整格式:

这集内容是对上集的一个补充。

虽然九九乘法表运行成功了,但是格式有些还没对齐,比如 2 * 4 = 8,与下面一行的 2 * 5 =10,就产生了错位。

这就需要使用字符串的转义字符。

最常用的是 表示 制表符,协助在输出文本时 垂直方向 保持对齐。

表示 换行符。

这个转义字符绝对是强迫症的福音啊。

f898415307d947ba530b8423386618c7.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值