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

1.字符串操作:

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

解析身份证信息:

ID=input("输入你的身份证号:")
shengfen = ID[0:2]
year = ID[6:10]
month = ID[10:12]
day = ID[12:14]
sex=ID[-2]

print(‘你的省份信息为:‘+shengfen)
print(‘出生日期为:‘+year+‘年‘+day+‘月‘+day+‘日‘)
if (int(sex) % 2) == 0:
    print(‘性别为:女性‘)
else:
    print(‘性别为:男性‘)

  

凯撒密码:

from idna import unichr

a=‘‘
s=input(‘输入要加密的信息:‘)
num=input(‘输入加密数字:‘)
print(‘密文为:‘)
for i in s:
    a+=unichr(ord(i)+int(num));
print(a)
print(‘还原信息:‘)
for i in a:
    print(unichr(ord(i)-int(num)),end=‘‘);

  

2.英文词频统计预处理

  • 下载一首英文的歌词或文章或小说。
  • 将所有大写转换为小写
  • 将所有其他做分隔符(,.?!)替换为空格
  • 分隔出一个一个的单词
  • 并统计单词出现的次数。
import operator
text=‘‘‘It was a cold winter day in 1919. A small boy was walking along the street in London.
His name was Tom. He was very hungry.
 He wanted to buy some bread, but he had no money.
 What could he do? When he was very young, he wanted to be a great man in the world of films.
 So he worked to sing and dance well.
 Thirty years later, the boy became one of the famous people in the world.‘‘‘

text1=text.replace(‘.‘,‘ ‘).replace(‘?‘,‘ ‘).replace(‘,‘,‘ ‘).lower().split();
dic = {}
for word in text1:
    if word not in dic:
        dic[word] = 1;
    else:
        dic[word] = dic[word] + 1;

swd = sorted(dic.items(), key=operator.itemgetter(1), reverse=True)
print(swd)

  

3.文件操作

  • 同一目录、绝对路径、相对路径
  • 凯撒密码:从文件读入密函,进行加密或解密,保存到文件。
  • 词频统计:下载一首英文的歌词或文章或小说,保存为utf8文件。从文件读入文本进行处理。

凯撒密码:从文件读入密函,进行加密或解密,保存到文件。

from idna import unichr

def openFile(i):
    if i ==1:
        return open(r‘C:\Users\Shinelon\Desktop\123.txt‘, ‘r‘, encoding=‘gb2312‘);
    else:
        return open(r‘C:\Users\Shinelon\Desktop\234.txt‘, ‘a‘, encoding=‘utf8‘);

a=‘‘
f=openFile(1)
text=f.read();
f.close();
num=3
print(‘密文为:‘)
for i in text:
    a+=unichr(ord(i)+int(num));
print(a)
j=openFile(2)
j.seek(0)
j.truncate()
j.write(a)
j.close()
print(‘还原信息:‘)
for i in a:
    print(unichr(ord(i)-int(num)),end=‘‘);

  

词频统计:下载一首英文的歌词或文章或小说,保存为utf8文件。从文件读入文本进行处理。

import operator

f=open(r‘C:\Users\Shinelon\Desktop\123.txt‘,‘r‘,encoding=‘utf8‘);
text=f.read();
f.close();
text1=text.replace(‘.‘,‘ ‘).replace(‘?‘,‘ ‘).replace(‘,‘,‘ ‘).lower().split();
dic = {}
for word in text1:
    if word not in dic:
        dic[word] = 1;
    else:
        dic[word] = dic[word] + 1;

swd = sorted(dic.items(), key=operator.itemgetter(1), reverse=True)
print(swd)

  

4.函数定义

  • 加密函数
  • 解密函数
  • 读文本函数

加密函数

def jiami(xinxi,num):
    temp=‘‘
    for i in xinxi:
        temp+=unichr(ord(i)+int(num));
    return temp;

  

解密函数

def jiemi(xinxi,num):
    temp=‘‘
    for i in xinxi:
        temp+=unichr(ord(i)-int(num));
    return temp;

  

读文本函数

def openFile():

        return open(r‘C:\Users\Shinelon\Desktop\123.txt‘, ‘r‘, encoding=‘utf8‘);

  

原文地址:https://www.cnblogs.com/chenshijiong/p/10508205.html

时间: 2024-11-05 19:05:14

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

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

1.字符串操作:解析身份证号:生日.性别.出生地等.   地址码: 表示编码对象常住户口所在县(市.旗.区)的行政区划代码. 出生日期码:表示编码对象出生的年.月.日,年.月.日代码之间不用分隔符,格式为YYYYMMDD,如19880328. 顺序码: 表示在同一地址码所标识的区域范围内,对同年.同月.同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性. 校验码: 根据本体码,通过采用ISO 7064:1983,MOD 11-2校验码系统计算出校验码.前面有提到数字校验码,我们知道

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

1.字符串操作: 身份证号解析 ID=input("请输入身份证号:") year=ID[6:10] mouth=ID[10:12] day=ID[12:14] if(int(ID[16])%2==0): sex="女" else: sex="男" print("出生日期为:%s年%s月%s日\n性别:%s"%(year,mouth,day,sex)) 凯撒密码 plaincode=input("请输入源码:&quo

组合数据类型练习,英文词频统计实例

1.由字符串创建一个作业评分表,做增删改查询统计遍历操作,例如查询第一个3分的下标,统计1分的同学有几个,3分的同学有几个,增删改查等等. 2.字典实例:建立学生学号成绩字典,做增删改查遍历操作. 3.列表,元组,字典,集合的遍历. 4.英文词频统计实例 news = '''When I was young I'd listen to the radio Waiting for my favorite songs When they played I'd sing along, It make

Hadoop的改进实验(中文分词词频统计及英文词频统计)(4/4)

声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的百度云(联网),和Ubuntu系统的hadoop1-2-1(自己提前配好).如不清楚配置可看<Hadoop之词频统计小实验初步配置> 3)本文由于过长,无法一次性上传.其相邻相关的博文,可参见<Hadoop的改进实验(中文分词词频统计及英文词频统计) 博文目录结构>,以阅览其余三篇剩余内容文档. (五)单机伪分布的英文词频统计Python&Streamin

组合数据类型和英文词频统计实例

1.列表实例:由字符串创建一个作业评分列表,做增删改查询统计遍历操作.例如,查询第一个3分的下标,统计1分的同学有多少个,3分的同学有多少个等. >>> ls=list('1231323232323131323') >>> ls ['1', '2', '3', '1', '3', '2', '3', '2', '3', '2', '3', '2', '3', '1', '3', '1', '3', '2', '3'] >>> ls.append('4'

组合数据类型练习,英文词频统计实例上

字典实例:建立学生学号成绩字典,做增删改查遍历操作. #创建一个空字典 dict={} s=dict print(s) #增加键值对(学号-成绩) s['001']=60 s['002']=70 s['003']=80 s['004']=90 print(s) #删除 s.pop('004') print(s) #修改 s['001']=69 print(s) #查找键是否存在 s.get('005','不存在') print(s) #便历 for i in s: print(i) 2.列表,元

组合数据类型练习,英文词频统计实例上列表,元组,字典,集合的遍历。 总结列表,元组,字典,集合的联系与区别。

1.字典实例:建立学生学号成绩字典,做增删改查遍历操作. d={'天':95,'青':78,'色':65,'等':66}print('学生成绩字典:',d)d['烟']=98print('增加:',d)d.pop('等')print('删除:',d)d['天']=78print('修改:',d)print('查询青成绩:',d.get('青','无')) 2.列表,元组,字典,集合的遍历.总结列表,元组,字典,集合的联系与区别. s=list('123456789')t=set('7564231

组合数据类型练习,英文词频统计实

1,建立学生学号成绩字典,做增删改查遍历操作. #创建 d={'01':73,'02':98,'03':66,'04':88,'05':73} d {'01': 73, '02': 98, '03': 66, '04': 88, '05': 73} #查找 >>> d['04'] 88 #插入 >>> d['06']='75' >>> d {'01': 73, '02': 98, '03': 66, '04': 88, '05': 73, '06':

八、组合数据类型练习,英文词频统计实例上

1.字典实例:建立学生学号成绩字典,做增删改查遍历操作. dict={'001':'66','003':'77','006':'88','009':'99'} print('学生学号成绩:',dict) dict['007']=96 print('增加学号为007的学生的成绩为96:',dict) dict.pop('001') print('删除学号为001的学生的记录:',dict) dict['007']=100 print('修改学号为007的学生的成绩为100:',dict) prin