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


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

    一、作业要求

    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)  

    结果如下:

  • 相关阅读:
    javascript 原型和构造函数
    react native与原生的交互
    项目中git的用法
    web页面的回流,认识与避免
    js 中的算法题,那些经常看到的
    js中this的四种调用模式
    JS面向对象的几种写法
    模块化加载require.js
    es6新语法
    vue组件化开发
  • 原文地址:https://www.cnblogs.com/lamonein/p/10475268.html
Copyright © 2020-2023  润新知