知识学完就忘
知识学完就忘,可以用开卷思维来弥补,毕竟是没有没有老师监考得。对于忘记的知识随时查阅。
学编程的重点不是死记硬背,而是如何应用。
在编程学习中,会有一个误区,掌握知识和记住知识是两个概念。
Python的知识点还是很多的,在学习初期的时候。做到心中有个印象,使用时不确定这个知识,可以查看学习记录,提供两种有效的学习方法:用法查询笔记法和深度理解笔记
用法查询笔记
记住一点,不管用什么格式记笔记,目的只有一个,就是方便自己查询使用。
例如算法运算符相关笔记
通过小例子来说明不同算法运算符的用法,并且用注释说明
再例如字典的相关笔记
遇到自己没有涉及到的零碎知识点,也可以补充到笔记里,方便日后查看
深度理解笔记
有些知识光有印象还不够,还需要知道这些知识如何使用,所以要用深度理解笔记做总结。
例如循环知识的理解笔记
用法查询笔记解决的是知识点是什么的问题,深度理解笔记则侧重解决为什么要用以及怎么用这个知识点的问题。
再例如列表和字典的例子
深度理解笔记不是一蹴而就的,会随着对某一知识的理解程度加深而不断完善
缺乏解题能力
解题技巧因人而异,提供以下几步供大家做为参考
a.分析问题,明确结果
假设目标是在终端打印出九九乘法表
b.思考需要的知识,或搜索新知识
首先明确,打印信息就需要print()函数,不过千万不要写成这样
九九乘法表是有一定规律,重复的结果,所以可以想到用循环来处理
同时,数字是灵活变动的,所以用格式化字符串来为变动的数字预留位置会更方便
c.思考切入点
观察九九乘法表,会发现一个规律,每一行的等式离,第一位数会递增,第二位数则会保持不变,并且在第几行就会有多少个等式。
d.尝试解决问题的一部分
尝试一下打印出九九乘法表的第二行和第三行
输出结果
1 X 2 = 2 2 X 2 = 4
1 X 3 = 3 2 X 3 = 6 3 X 3 = 9
初步代码编写
for i in range(1, 3):
print('{} X {} = {}'.format(i, 2, i*2))
for i in range(1, 4):
print('{} X {} = {}'.format(i, 3, I*3))
输出结果
1 X 2 = 2
2 X 2 = 4
1 X 3 = 3
2 X 3 = 6
3 X 3 = 9
输出结果不是我们想要的效果,所以要回到第2步重新思考
怎么才能让print出来的东西不换行。这时之前学的知识可能没有很好的解决办法,这时就要用到搜索引擎了,谷歌或者百度搜索新知识。
print()函数里有个参数'end'是用来控制换行行数和结尾字符
实例
print('hellp', end='')
print('world')
print('hello', end=' ')
print('world')
print('hello', end='!')
print('world')
输出结果
helloworld
hello world
hello!world
通过新知识可以把代码写成
for i in range(1, 3):
print('{} X {} = {}'.format(i, 2, i*2), end=' ')
for i in range(1, 4):
print('{} X {} = {}'.format(i, 3, i*3), end=' ')
输出结果
1 X 2 = 2 2 X 2 = 4 1 X 3 = 3 2 X 3 = 6 3 X 3 = 9
但这还不是我们想要的结果,这时就可以使用print('')来控制换行
for i in range(1, 3):
print('{} X {} = {}'.format(i, 2, i*2), end=' ')
print('') # 用来换行
for i in range(1, 4):
print('{} X {} = {}'.format(i, 3, i*3), end=' ')
输出结果
1 X 2 = 2 2 X 2 = 4
1 X 3 = 3 2 X 3 = 6 3 X 3 = 9
通过这样的方式,把所有的等式放在一起
for i in range(1, 3):
print('{} X {} = {}'.format(i, 2, i*2), end=' ')
print('') # 用来换行
for i in range(1, 4):
print('{} X {} = {}'.format(i, 3, i*3), end=' ')
print('')
......
for i in range(1, 3):
print('{} X {} = {}'.format(i, 2, i*2), end=' ')
print('') # 用来换行
for i in range(1, 4):
print('{} X {} = {}'.format(i, 3, i*3), end=' ')
但这还是很复杂,不过可以看出规律,同一结果重复了九次,我们可以用一层循环嵌套,来解决重复劳动。
可以发现九九乘法表行数是固定的,范围是range(1, 10),而列数(等式)则是逐行加一,即第N行就又N个等式。
完善后的代码
for i in range(1, 10):
for j in range(1, i+1):
print('{} X {} = {}'.format(j, i, i*j), end=' ')
print(' ')
输出结果
1 X 1 = 1
1 X 2 = 2 2 X 2 = 4
1 X 3 = 3 2 X 3 = 6 3 X 3 = 9
1 X 4 = 4 2 X 4 = 8 3 X 4 = 12 4 X 4 = 16
1 X 5 = 5 2 X 5 = 10 3 X 5 = 15 4 X 5 = 20 5 X 5 = 25
1 X 6 = 6 2 X 6 = 12 3 X 6 = 18 4 X 6 = 24 5 X 6 = 30 6 X 6 = 36
1 X 7 = 7 2 X 7 = 14 3 X 7 = 21 4 X 7 = 28 5 X 7 = 35 6 X 7 = 42 7 X 7 = 49
1 X 8 = 8 2 X 8 = 16 3 X 8 = 24 4 X 8 = 32 5 X 8 = 40 6 X 8 = 48 7 X 8 = 56 8 X 8 =
64
1 X 9 = 9 2 X 9 = 18 3 X 9 = 27 4 X 9 = 36 5 X 9 = 45 6 X 9 = 54 7 X 9 = 63 8 X 9 =
72 9 X 9 = 81
注:解法不是唯一的
其他解法
for i in range(1, 10):
for j in range(1, 10):
print('{} X {} = {}'.format(j, i, i*j), end=' ')
if i == j:
print('')
break
作者:one
来源:公众号One丨Python