当前位置: 首页 > news >正文

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

本作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2684

1.字符串操作:
    解析身份证号:生日、性别、出生地等。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
code = input ( "请输入您的身份证号:" );
year = code[ 6 : 10 ];
month = code[ 10 : 12 ];
day = code[ 12 : 14 ];
province = code[ 0 : 2 ];
area = { '11' : '北京市' , '12' : '天津市' , '13' : '河北省' , '14' : '山西省' , '15' : '内蒙古自治区' , '21' : '辽宁省' , '22' : '吉林省' , '23' : '黑龙江省' , '31' : '上海市' , '32' : '江苏省' , '33' : '浙江省' , '34' : '安徽省' , '35' : '福建省' , '36' : '江西省' , '37' : '山东省' , '41' : '河南省' , '42' : '湖北省' , '43' : '湖南省' , '44' : '广东省' , '45' : '广西壮族自治区' , '46' : '海南省' , '50' : '重庆市' , '51' : '四川省' , '52' : '贵州省' , '53' : '云南省' , '54' : '西藏自治区' , '61' : '陕西省' , '62' : '甘肃省' , '63' : '青海省' , '64' : '宁夏回族自治区' , '65' : '新疆维吾尔自治区' , '71' : '台湾省' , '81' : '香港特别行政区' , '82' : '澳门特别行政区' }
print ( "你所查询的身份证归属地为:" + area.get(province));
print ( "出生日期是{}年{}月{}日" . format (year,month,day));
sex = code[ - 2 ];
if int (sex) % 2 = = 0 :
     print ( "性别为女" );
else :
     print ( "性别为男" )

   

    网址观察与批量生成

1
2
for  in  range ( 2 , 16 ):
     print ( 'http://news.gzcc.cn/html/xiaoyuanxinwen/'  +  str (i)  +  '.html' )

  

    

     凯撒密码编码与解码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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))
def decryption():
     str_raw = input ( "请输入密文:" )
     k = int ( input ( "请输入位移值:" ))
     str_change = str_raw.lower()
     str_list = list (str_change)
     str_list_decry = str_list
     i = 0
     while i < len (str_list):
         if ord (str_list[i]) > = 97 + k:
             str_list_decry[i] = chr ( ord (str_list[i]) - k)
         else :
             str_list_decry[i] = chr ( ord (str_list[i]) + 26 - k)
         i = i + 1
     print ( "解密结果为:" + "".join(str_list_decry))
while True :
     print (u "1. 加密" )
     print (u "2. 解密" )
     choice = input ( "请选择:" )
     if choice = = "1" :
         encryption()
     elif choice = = "2" :
         decryption()
     else :
         print (u "您的输入有误!" )

 

 

2.英文词频统计预处理

?
1
2
3
4
5
6
7
8
9
10
11
12
url = '''
  WHEN MINUTES BECOME HOURS
    WHEN DAYS BECOME YEARS
    AND I DON’T KNOW WHERE YOU ARE
    COLOR SEEMS SO DULL WITHOUT YOU
'''
str1 = url.lower()
str2 = str1.replace( "," ,"")
str3 = str2.replace( "'" ,"")
print (str3)
print (str3.split());
print (str3.count( 'we' ))

 
3.文件操作   

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

      凯撒密码

text1=open('Tom.txt','r',encoding='utf-8')
text1=text1.read()
text11=''
for t in  text1:
    text11=text11+chr(ord(t)+3)
text2=open('Tom1.txt','a',encoding='utf-8')
text2=text2.write(text11)

     词频统计

 
text=open('gril.txt','r',encoding='utf-8')
text=text.read()
x=",?!."
for xx in x:
    text1=text.replace(xx,' ')
print(text1)
text2=open('gril1.txt','a',encoding='utf-8')
text2.write(text1)
 

 

4.函数定义

  • 加密函数
 
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))
 

 

  • 解密函数
 
def decryption():
    str_raw = input("请输入密文:")
    k = int(input("请输入位移值:"))
    str_change = str_raw.lower()
    str_list = list(str_change)
    str_list_decry = str_list
    i = 0
    while i < len(str_list):
        if ord(str_list[i]) >= 97+k:
            str_list_decry[i] = chr(ord(str_list[i]) - k)
        else:
            str_list_decry[i] = chr(ord(str_list[i]) + 26 - k)
        i = i+1
    print ("解密结果为:"+"".join(str_list_decry))
 

 

  • 读文本函数
def readFile(filePath):
    file=open(filePath,'r',encoding='utf-8')
    return file.read()

转载于:https://www.cnblogs.com/lingzihui/p/10510533.html

相关文章:

  • 摘抄《天龙八部》诗词回目
  • php项目命名规范
  • Jupyter Notebook不能在系统命令行里全局启动
  • php的基本内容
  • xpath获取一个标签下的多个同级标签
  • [笔记].I2C札记
  • 力扣——找数左下角的值
  • JavaScript之数组的常用操作函数
  • 缓存、队列(Memcached、redis、RabbitMQ)
  • Route组件GetVirtualPath方法性能优化结果
  • 吴恩达老师的神经网路和深度学习_02
  • 80后成人高考第二季
  • swoole 异步非堵塞 server/端 client/端 代码,已经测试完毕。贴代码
  • 肖不语
  • 01基础数据类型——list相关操作
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • Bytom交易说明(账户管理模式)
  • Druid 在有赞的实践
  • Java多态
  • leetcode-27. Remove Element
  • mysql中InnoDB引擎中页的概念
  • SpringBoot 实战 (三) | 配置文件详解
  • Vue全家桶实现一个Web App
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 聊聊hikari连接池的leakDetectionThreshold
  • 收藏好这篇,别再只说“数据劫持”了
  • 问题之ssh中Host key verification failed的解决
  • 学习Vue.js的五个小例子
  • 一文看透浏览器架构
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 栈实现走出迷宫(C++)
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 带你开发类似Pokemon Go的AR游戏
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​批处理文件中的errorlevel用法
  • #14vue3生成表单并跳转到外部地址的方式
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #预处理和函数的对比以及条件编译
  • (1)虚拟机的安装与使用,linux系统安装
  • (C语言)fread与fwrite详解
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (ZT)薛涌:谈贫说富
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)Sql Server 保留几位小数的两种做法
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .md即markdown文件的基本常用编写语法
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net 使用ajax控件后如何调用前端脚本
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)