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

---恢复内容开始---

一、作业要求

1.字符串操作:

  • 解析身份证号:生日、性别、出生地等。
  • 凯撒密码编码与解码
  • 网址观察与批量生成

2.英文词频统计预处理

  • 下载一首英文的歌词或文章或小说,保存为utf8文件。
  • 从文件读出字符串。
  • 将所有大写转换为小写
  • 将所有其他做分隔符(,.?!)替换为空格
  • 分隔出一个一个的单词
  • 并统计单词出现的次数。

二、字符串操作

  • 解析身份证号:生日、性别、出生地等。

   代码如下:


str="""
440000 广东省
440100   广州市
440103   荔湾区
440104   越秀区
440105   海珠区
440106   天河区
440111   白云区
440112   黄埔区
440113   番禺区
440114   花都区
440115   南沙区
440116   萝岗区
440183   增城区
440184   从化区
440200   韶关市
440203   武江区
440204   浈江区
440205   曲江区
440222   始兴县
440224   仁化县
440229   翁源县
440232   乳源县
440233   新丰县
440281   乐昌市
440282   南雄市
440300   深圳市
440303   罗湖区
440304   福田区
440305   南山区
440306   宝安区
440307   龙岗区
440308   盐田区
440400   珠海市
440402   香洲区
440403   斗门区
440404   金湾区
440500   汕头市
440507   龙湖区
440511   金平区
440512   濠江区
440513   潮阳区
440514   潮南区
440515   澄海区
440523   南澳县
440600   佛山市
440604   禅城区
440605   南海区
440606   顺德区
440607   三水区
440608   高明区
440700   江门市
440703   蓬江区
440704   江海区
440705   新会区
440781   台山市
440783   开平市
440784   鹤山市
440785   恩平市
440800   湛江市
440802   赤坎区
440803   霞山区
440804   坡头区
440811   麻章区
440823   遂溪县
440825   徐闻县
440881   廉江市
440882   雷州市
440883   吴川市
440900   茂名市
440902   茂南区
440903   茂港区
440923   电白区
440981   高州市
440982   化州市
440983   信宜市
441200   肇庆市
441202   端州区
441203   鼎湖区
441223   广宁县
441224   怀集县
441225   封开县
441226   德庆县
441283   高要区
441284   四会市
441300   惠州市
441302   惠城区
441303   惠阳区
441322   博罗县
441323   惠东县
441324   龙门县
441400   梅州市
441402   梅江区
441421   梅县区
441422   大埔县
441423   丰顺县
441424   五华县
441426   平远县
441427   蕉岭县
441481   兴宁市
441500   汕尾市
441502   城区
441521   海丰县
441523   陆河县
441581   陆丰市
441600   河源市
441602   源城区
441621   紫金县
441622   龙川县
441623   连平县
441624   和平县
441625   东源县
441700   阳江市
441702   江城区
441721   阳西县
441723   阳东区
441781   阳春市
441800   清远市
441802   清城区
441821   佛冈县
441823   阳山县
441825   连山县
441826   连南县
441827   清新县
441881   英德市
441882   连州市
441900   东莞市
442000   中山市
445100   潮州市
445102   湘桥区
445103   潮安区
445122   饶平县
445200   揭阳市
445202   榕城区
445221   揭东区
445222   揭西县
445224   惠来县
445281   普宁市
445300   云浮市
445302   云城区
445303   云安区
445321   新兴县
445322   郁南县
445381   罗定市
"""
print('请输入身份证号')
ID=input()
if len(ID)!=18:
print('请输入有效的身份证号码')
else:
print('身份证号码格式正确')
birth=ID[6:14]
print('您的生日是:',format(birth))
check=ID[14:17]
if int(check) % 2==0:
print('您的性别为:女')
else:
print('您的性别为:男')
adress=ID[0:6]
print('您的地址号码是:',format(adress),"出生地方:"+str[str.find(adress)+9:str.find(adress)+12])

 

 

 

 

  • 凯撒密码编码与解码。

   代码如下:

 

 

三、英文词频统计预处理

代码如下

fo = open('zz.txt', 'r', encoding='utf-8')
stra = fo.read().lower()
fo.close()
print(stra)  # 1.准备utf-8编码的文本文件file 2.通过文件读取字符串 str

sep = ',.;!'
for ch in sep:
    stra = stra.replace(ch, '')  # 进行预处理,清除掉sep中存在的标点符号
print(stra)

strList = stra.split(' ')
print(len(strList), strList)  # 分解提取单词,转化为列表list

strSet = set(strList)
print(len(strSet), strSet)  # 转化为集合

strDict = {}
for world in strSet:
    strDict[world] = strList.count(world)

print(len(strDict), strDict)  # 转化为字典,计算上一个集合中每个单词出现的次数

wcList = list(strDict.items())
print(wcList)  # 将字典中的目录转化为列表输出
wcList.sort(key=lambda x: x[1], reverse=True)
print(wcList)  

结果如下:

 

posted @ 2019-03-05 10:49  梁运金  阅读(260)  评论(0编辑  收藏  举报