知识点易忘
1.1 内容笔记
内容笔记,就是你要做好自己的武功秘籍,将平时的知识点用法记录下来,形成自己的武功秘籍,它能够供你快速查阅,加深对知识的印象。
不管你用啥记,只要你能看懂就可以。
比如先看一下简单的“四则运算”。
列表的笔记
依旧是代码与注释,注释对代码解释,包含实际运行结果。这样才能加深对知识的第一印象。
最后,再来看一下以“字典”知识为例的笔记,当然,笔记是给自己看的,记录哪些内容,看你自己对知识点的熟悉度。
就像这样,随着你以后在Python江湖中的历练,你能够积累越来越多的【内容笔记】。
1.2 总结笔记
光有了笔记还不成,还需要理解笔记,进行总结,这样你在遇到问题时,才能想到所学的知识。
【总结笔记】在于“理解”, 所以要着重总结对笔记的理解。你看一下我对循环知识的理解笔记:
可以看出,【内容笔记】解决“知识点是什么”的问题,而【总结笔记】更侧重“为什么用”以及“怎么用”。
再来看一个关于列表和字典的例子:
总结笔记不是一次成型的,而是在你理解过程中循序渐进慢慢完成的。
1.3 知识管理
其实,内容笔记和总结笔记是搭配使用的,就如同字典中的键与值。内容笔记就是键,总结笔记就是值。
随着我们知识量越来越多,知识结构会更加完整,我们使用知识也会越来越顺。
如果你发现自己“知识点易忘”的话,不妨试一试小K所教的笔记法。
解题没思路
每个人都有每个人的解题思路,但是总结起来,可以分为这么几步:
比如说,我们要使用Python打印出九九乘法表。
题目要求我们打印九九乘法表,先看看九九乘法表是什么样子的?
好了,现在已经明确问题了,也知道要做出什么样的效果?那就来思考一下解决这个问题需要什么知识?
首先,打印内容,使用到print()函数。
print('1 X 1 = 1')
print('1 X 2 = 2 2 X 2 = 4')
print('1 X 3 = 3 2 X 3 = 6 3 X 3 = 9')
print('1 X 4 = 4 2 X 4 = 8 3 X 4 = 12 4 X 4 = 16')
...
你可以一行一行的打印,但是九九乘法表这么大, 你一行一行的打印到啥时候?
如果细心观察九九乘法表,你会发现,九九乘法表是有规律的,有重复内容的?
哪里有重复内容?你看九九乘法表只有数字在变,格式还是那个样子,都在重复。所以,用循环来解决。这就找到了问题的切入点。
细细观察九九乘法表,你会发现一个规律:每一行的等式里,第二位数会递增,第一位数则会保持不变,并且在第几行就会有多少个等式。
也就说每一行都是一个循环。那我们就把这个小循环先写出来。
永远从最简单的切入点入手,解决一部分,解决解决着,问题就迎刃而解了。
完成这个小循环,用for循环还是while循环?
每一行打印的内容是有限的,也就是循环次数是确定的,用for循环啊。
是不是和我们猜的一样?
下面,使用for循环将九九乘法表中的前三行打印出来。
你自己试一下:【提示:先回去翻一翻笔记,看看内容,然后再来写;需要两个内容知识点:for循环,字符串格式化】
for x in range(1,4):
for y in range(1,4):
print("%d*%d=%d\n"%(x,y,x*y))
for i in range(1,2):
print('%d X %d = %d' % (i, 1, i*1))
for i in range(1,3):
print('%d X %d = %d' % (i,2,i*2))
for i in range(1,4):
print('%d X %d = %d' % (i,3,i*3))
运行出来,你会发现,我们的每一个等式都换行了,但是我们要的是:
我们需要的是不让print()打印的时候换行。
怎么办?老师没有讲过啊。怎么办?在线急等。
找百度啊。去百度搜一搜怎么办。
搜嘎,原来要想让print()不换行,末尾加end=’’就可以啊。
print('hi',end='')
print('Python')
print('hi',end=' ')
print('Python')
print('hi',end='!')
print('Python')
那么我们的九九乘法表,就可以改成:
for i in range(1,2):
print('%d X %d = %d' % (i, 1, i*1), end='')
for i in range(1,3):
print('%d X %d = %d' % (i,2,i*2), end='')
for i in range(1,4):
print('%d X %d = %d' % (i,3,i*3), end='')
运行一下,又都压缩到一行里去了。
别着急,小K告诉大家一个秘籍。
江湖秘籍:使用print(‘’)来控制换行。
运行一下下面代码,观察终端里的效果。
for i in range(1,2):
print('%d X %d = %d' % (i, 1, i*1), end=' ')
print('')
for i in range(1,3):
print('%d X %d = %d' % (i,2,i*2), end=' ')
print('')
for i in range(1,4):
print('%d X %d = %d' % (i,3,i*3), end=' ')
OK。成功打印,那么九九乘法表,就是:
for i in range(1,2):
print( '%d X %d = %d' % (i,1,i*1) ,end = ' ' )
print('')
for i in range(1,3):
print( '%d X %d = %d' % (i,2,i*2) ,end = ' ' )
print('')
for i in range(1,4):
print( '%d X %d = %d' % (i,3,i*3) ,end = ' ' )
print('')
for i in range(1,5):
print( '%d X %d = %d' % (i,4,i*4) ,end = ' ' )
print('')
for i in range(1,6):
print( '%d X %d = %d' % (i,5,i*5) ,end = ' ' )
print('')
for i in range(1,7):
print( '%d X %d = %d' % (i,6,i*6) ,end = ' ' )
print('')
for i in range(1,8):
print( '%d X %d = %d' % (i,7,i*7) ,end = ' ' )
print('')
for i in range(1,9):
print( '%d X %d = %d' % (i,8,i*8) ,end = ' ' )
print('')
for i in range(1,10):
print( '%d X %d = %d' % (i,9,i*9) ,end = ' ' )
print('')
但是你有没有发现,像这样的代码,你用了9次。
for i in range(1,10):
print( '%d X %d = %d' % (i,9,i*9) ,end = ' ' )
print('')
既然类似这样的代码,我用了九次,那么我在外面再写一个循环,循环9次,不就解决了吗。
for i in range(1,10):
for j in range(1,i+1):
print( '%d X %d = %d' % (j,i,i*j),end = ' ' )
print(' ')
到这里,我们的九九乘法表已经成功打印。
练习:班级同学的成绩存放在列表中,list=[523, 435, 712, 566, 613, 675, 620, 689, 643],请将列表内的成绩从大到小进行排序。
提示:列表排序问一下度娘。
可以用sort()方法对定义的列表排序,注意,sort只是对列表排序,它没有返回一个值。
倒序可以用这个reverse方法,把元素位置倒转过来。
list=[523, 435, 712, 566, 613, 675, 620, 689, 643]
list.sort()
list.reverse()
print(list)
现有一个列表,存放了小区邻居的工资收入,list=[10000,8500,
9000,7000,8000,8000,9000,20000,15000,16000,5000] ,算一下小区邻居的平均工资收入。
统计一下邻居的收入,算出平均值。
list=[10000,8500,9000,7000,8000,8000,9000,20000,15000,16000,5000]
sum=0
average=0
print(len(list))#求列表元素的个数
for i in list:
sum+=i#对工资求和
print(sum)
average=sum/len(list)#求平均值
print(average)