字符串操作,英文词频统计预处理
这个作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2646
作业1.字符串操作:
- 解析身份证号:生日、性别、出生地等。
代码如下:
add_num = {'445202':'榕城区','445221':'揭东区','445222':'揭西区','445224':'惠来区','445281':'普宁区'} id = input('请输入身份证号码:') birth_year = id[6:10] birth_month = id[10:12] birth_day = id[12:14] sex = id[16] if int(sex)%2 == 0: sex='女' else: sex='男' print('您输入的身份证号码是(揭阳市):{}'.format(id)) print('出生地编码:{}\n出生时间:{}年{}月{}日\n性别:{}'.format(add_num[id[0:6]],birth_year,birth_month,birth_day,sex))
执行效果如下:
- 凯撒密码编码与解码
代码如下:
def encryption(): str_raw = input("请输入明文:") k = int(input("请输入位移值:")) str_change = str_raw.lower() str_list = list(str_change) str_list_encry = str_list i = 0 while i < len(str_list): if ord(str_list[i]) < 123-k: str_list_encry[i] = chr(ord(str_list[i]) + k) else: str_list_encry[i] = chr(ord(str_list[i]) + k - 26) i = i+1 print ("加密结果为:"+"".join(str_list_encry)) while True: encryption()
执行效果如下:
网址观察与批量生成
代码如下
for i in range(2,6): url='http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html'.format(i) print(url)
执行效果如下:
作业2.英文词频统计预处理
- 下载一首英文的歌词或文章或小说
- 将所有大写转换为小写
- 将所有其他做分隔符(,.?!)替换为空格
- 分隔出一个一个的单词
- 并统计单词出现的次数。
歌词文件的准备
#!/usr/bin/python f=open('065.txt','r',encoding='utf8') text = f.read() f.close() text.lower() text=text.replace('\n','') list = text.split(" ") formatList=[] for id in list: if id not in formatList: formatList.append(id) for x in formatList: print(x,list.count(x))
主要实现代码如上,代码是对文件的操作、字符串函数操作以及字符串遍历和判断语句的练习。主要逻辑就是将歌词赋值到一个字符串里面,再用replace()替换掉里面的\n换行字符,用split()划分单词储存到集合list里面,再定义一个新集合formatList,主要为了存储去重后的单词,用判断语句将单词不重复地添加到formatList集合中,最后直接输出再formatList中的单词以及用count()统计单词在List集合中出现的次数。
输出结果如上