学员信息
- 学号:1901100244
 - 操作系统:Windows 10 version 1903 (64-bit)
 - 学习内容:打印两种形式的九九乘法表
 - 学习用时: 小时
 
收获总结
- 了解了条件判断(
if...elif...else)语句的用法; - 了解了循环(
for...in、while、break、continue)语句的搭配和使用; - 了解了生成数字序列的方法(使用 
range()函数); - 巩固了格式化输出(
print()函数)的方法。 
遇到的难点与问题
1. 去除多余的输出
通过两层循环嵌套输出大九九并不困难,但在这个基础上去掉一半输出小九九就稍有难度了。
我个人是通过做一次条件判断,只输出一数小于或等于另一数的情况完成了任务。
任务的第二部分要求去掉九九表的偶数行,这个困扰了我一阵子。
判断是不是偶数行不难,求余(“%”)就行了,加个 if 判断一下再输出就可以完成任务。
但任务要求用 while 循环来实现。
开始我就只用 while 加了一个判断,运行的时候发现会导致无限循环,又看了看文档,明白得配合 break 用,但 while 和 break 具体加在哪里颇费了一番思量。来回试验了好久,甚至手绘了流程图,我才实现了需要的输出。
2. 不同的输出形式
任务中的要求输出是这样的——

但这个输出有几个不尽如人意的地方:
- 对齐不正,第 4 行和第 5 行的空隙由于进位歪了;
 - 符号不当,乘号应该写作“×”,使用星号(*)替代是不得已而为之,不应当作正式用法;
 - 顺序不佳,习惯中的九九表应该是小数在前大数在后,此处颠倒了。
 
这几个问题的解决方法倒很简单:
- 把 
print()函数的结尾符设置为制表符即可(不知为什么教程里特意写了这么一句但示意输出却用的是 3 个空格); - 把 
print()里的“*”改成“×”即可; - 把 
print()里的变量顺序调整一下即可。 
除此之外,我还试了一下另一个方向的九九表——

这是常见的九九表的转置,也是最初的大九九去掉另外一半的效果,不过这么排版对对齐有进一步的要求,也算是额外的练习了。
3. 不同的循环方式
除了原本的要求外,我还试验了其他完成任务的方式,如:
- 用变量控制 
range()函数的右边界以省略两数大小判断; - 把循环区间设定为 
[1, 3, 5, 7, 9]以省略while循环; - 用 
if替代while实现判断; - 用 
if...continue替代while...break实现判断。 
算是把不同的循环方式都练习了几遍。
总结
- 输出了不同形式的九九表
 - 改善了原始的输出形式
 - 用不同方式完成了任务
 - 通过逐步尝试优化代码