字符串操作,英文词频统计预处理

这个作业要求来自于: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集合中出现的次数。

 

输出结果如上

posted on 2019-03-06 09:37  免疫  阅读(205)  评论(0编辑  收藏  举报