zoukankan      html  css  js  c++  java
  • Python——字符串、文件操作,英文词频统计预处理

    一.字符串操作:

     

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

    2.凯撒密码编码与解码

      凯撒加密法的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3),所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。

    def change(c,i):
        c = c.lower()
        num = ord(c)
        if num >= 97 and num <= 122:
            num = 97 + ((num - 97) + i) % 26
        return chr(num)
    
    
    def kaisa_jiami(string,i):
        string_new = ''
        for s in string:
            string_new += change(s,i)
        print(string_new)
        return string_new
    
    def kaisa_jiemi(string):
        for i in range(25):
            print('
    ', i, '
    ')
            i += 1
            kaisa_jiami(string,i)
    
    
    def main():
        print('请选择需要的操作:')
        print('1:凯撒加密')
        print('2:凯撒解密')
        choice = input()
        if choice == '1':
            string = input('请输入需要加密的字符串:')
            num = int(input('请输入需要偏移的位数:'))
            kaisa_jiami(string,num)
        elif choice == '2':
            string = input('请输入需要解密的字符串:')
            kaisa_jiemi(string)
        else:
            print('输入错误,请重试!')
            main()
    
    if __name__ == '__main__':
        main()

    运行结果:

     

    3.网址观察与批量生成

       比如学校官网的新闻模块,每一页都有相对应在html页面,比如第一页,网址就为:http://news.gzcc.cn/html/xiaoyuanxinwen/1.html 以此类推。可以直接使用for循环输出网址。

    for i in range(0,6):
        url='http://news.gzcc.cn/html/xiaoyuanxinwen/1.html'.format(i)
        print(url)

     

    二.英文词频统计预处理

     

    • 下载一首英文的歌词或文章或小说,保存为utf8文件。
    • 从文件读出字符串。
    • 将所有大写转换为小写
    • 将所有其他做分隔符(,.?!)替换为空格
    • 分隔出一个一个的单词
    • 并统计单词出现的次数。
    f=open('galwaygirl.txt','r')
    text=f.read()
    f.close()
    text=text.lower()
    sep=',.?!:;_'
    for s in sep:
        text=text.replace(s,' ')
    print(text.split())
    word=input('输入要查询的单词的次数')
    print(text.count(word))

     


                    ————Python学习大法————


     

     

  • 相关阅读:
    android 蓝牙串口通讯使用简介
    【C】C语言可变参va_start/va_arg/va_end使用说明
    【Codecs】CABAC深入分析与理解
    【Bugs】VS单步调试的无法进入断点、行号错乱等问题解决方法
    【SVAC1】NAL单元的封装
    【CV】傅里叶描绘子原理及应用简介
    【CV】骨架提取
    【SVAC】千目聚云:SVAC2.0已来 未来发展道路一片光明
    【Debug】当前不会命中断点,源代码与原始版本不同
    【Base】POE供电
  • 原文地址:https://www.cnblogs.com/WYuHan/p/10469818.html
Copyright © 2011-2022 走看看