这周除了matlab的考试,并在考试的期间过了一遍matlab,其次就是qt的贪吃蛇的游戏,本来是学习bootstrap的,但实际上我看的并不多,这周主要是学习Python,所以总结的话也是就Linux下的Python学习的总结
1.我是c语言学习时使用的Linux下写Python的,感觉很不错,emacs编辑器真的很好用,emacs的快捷键也是很重要的,有必要了解,比如光标的移动,c+b前进,c+a首行,c+e最后一行,alt+tab切换界面等,还有一些命令是linux下的tmux att +~c建立新的窗口已经怎样做笔记等
2.至于Python的学习,还是看代码吧
import math
def move(x,y,step,angle=0):
nx=x+step*math.cos(angle)
ny=y-step*math.sin(angle)
return nx,ny
x,y=move(100,100,60,math.pi/6)
print(x,y)
这个是自定义一个函数的实例
#coding=utf8
#import collections
#import os
with open('hlm-utf8.txt','r') as f:
str = f.read()
d ={}
for s in str:
if s in d:
d[s] = d[s]+1
else:
d[s] = 1
# print(len(d),d['的'],d)
r = sorted(d.items(),key=lambda d:d[1],reverse=False)
print(r[-100:])
#print("\n个单词出现的次数:\n %s" % collections.Counter(str))
统计一个文件中的字出现的频率,其中涉及到打开文件,读取文件,指点的使用,循环以及列表生成式,字典的sorted中按照value排序,我这里是统计红楼梦的词频
import os
path = '/data/haw/myworld/users/2017112323'
files = os.listdir(path)
sum = 0
for file in files:
d = [file]
if d=='1\d{3}\.\c':
sum = sum + 5
else:
sum = sum + 10
print(sum)
统计学生的总分数,其中每个等级的分数值不一样,这里用到了读取文件夹下的文件,列表,循环
可是这里的风格还是很像c语言,根据老师的知道我才知道一句代码其实就可以解决
import os
def score(path):
scores = [5,10,20,25]
return sum([scores[int(i[0]) - 1] for i in os.listdir(path) if i[0].isdigit()])
print(score('/data/haw/myworld/users/2017112323'))
很简单明了,重点是倒数第二句
#coding=utf8
import os
def score(path):
scores = [5,10,10,10,10]
return sum([scores[int(i[0]) - 1] for i in os.listdir(path) if i[0].isdigit()])
path = '/data/haw/myworld/users/'
for root,dirs,files in os.walk(path):
print(score(path))
上面是算一个学生的成绩,这里的最后两句是取文件夹下的所有文件夹,从而自定义函数取得所有学生的成绩