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

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2684

    1.字符串操作:

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

    # 获取身份证号中的出生地与性别
    identy = input("请输入您的身份证号:")
    while (len(identy)!=18):
        print("您的身份证号码输入错误")
        identy = input("请重新输入您的身份证号:")
    birthplace = input("请输入你的出生地:")
    print("你的出生地是{}".format(birthplace))
    
    sex = identy[-2]
    if int(sex) % 2 == 0:
        print("性别为女")
    else:
        print("性别为男")

    凯撒密码编码与解码

    MAX_KEY_SIZE = 26
    
    def getMode():
        while True:
            print('请选择加密或解密模式,或者选择暴力破解:')
            print('加密:encrypt(e)')
            print('解密:decrypt(d)')
            print('暴力破解:brute(b)')
            mode = input().lower()
            if mode in 'encrypt e decrypt d brute b'.split():
                return mode
            else:
                print('请输入"encrypt"或"e"或"decrypt"或"d"或"brute"或"b"!')
    
    def getMessage():
        print('请输入你的信息:')
        return input()
    
    def getKey():
        key = 0
        while True:
            print('请输入密钥数字(1-%s)' % (MAX_KEY_SIZE))
            key = int(input())
            if (key >=1 and key <= MAX_KEY_SIZE):
                return key
    
    def getTranslatedMessage(mode, message, key):
        if mode[0] == 'd':
            key = -key
        translated = ''
        for symbol in message:
            if symbol.isalpha():
                num = ord(symbol)
                num += key
                if symbol.isupper():
                    if num > ord('Z'):
                        num -= 26
                    elif num < ord('A'):
                        num += 26
                elif symbol.islower():
                    if num > ord('z'):
                        num -= 26
                    elif num < ord('a'):
                        num += 26
    
                translated += chr(num)
            else:
                translated += symbol
        return translated
    
    mode = getMode()
    message = getMessage()
    if mode[0] != 'b':
        key = getKey()
    
    print('你要翻译的信息是:')
    if mode[0] != 'b':
        print(getTranslatedMessage(mode, message, key))
    else:
        for key in range(1, MAX_KEY_SIZE + 1):
            print(key, getTranslatedMessage('decrypt', message, key))

    网址观察与批量生成

    for i in range(2,8):
        print('http://news.gzcc.cn/html/xiaoyuanxinwen/{}.html'.format(i))
    

      

    2.英文词频统计预处理

     下载一首英文的歌词或文章或小说。

     将所有大写转换为小写

     将所有其他做分隔符(,.?!)替换为空格

     分隔出一个一个的单词

     并统计单词出现的次数

    STR='''
    But that's alright because I like the way it hurts
    Just gonna stand there and hear me cry
    But that's alright
    because I love the way you lie
    I love the way you lie
    I can't tell you what it really is
    I can only tell you what it feels like
    '''
    STR = STR.lower()#将所有大写转换为小写
    print(STR)
    s = ',.?!'
    for i in s:
       STR = STR.replace(i,' ')#将所有其他做分隔符(,.?!)替换为空格
    print(STR)
    STR = STR.split()#分隔出一个一个的单词
    print(STR)
    InfoSet = set(STR)
    Count = {}
    for word in InfoSet:
        Count.setdefault(word,STR.count(word))#统计单词出现的次数




    3.文件操作

    • 同一目录、绝对路径、相对路径
    • 凯撒密码:从文件读入密函,进行加密或解密,保存到文件。
    • f = open('1.txt', 'r', encoding='utf8')
      f = f.read()
      Code1 = ''
      for i in f:
           Code1 = Code1+chr(ord(i)+3)
      Code2 = open('2.txt', 'a', encoding='utf8')
      Code2 = Code2.write(Code1)
      

       4.函数定义

    • 加密函数
      def JiaMi(dode) :
            code1 = ''
            for i in code :
                 i = i + chr(ord(i)+3)
            return i
      

       解密函数

    • def JieMi(code) :
             code1 = ''
             for i in code :
                  i = i + chr(ord(i)-3)
             return i
      

        读文本函数

    • def read(article) : 
           file = open(article, 'r',encoding = 'utf8')
           return file.read()
      

        

  • 相关阅读:
    自定义Maven Archetype模板
    [Discuz!NT] Crash问题记录
    echarts渐变色实现方法
    关于windows7 IIS 7.5和Vista IIS 7.0 局域网无法访问的解决方法
    返回接口信息
    [转]简易下拉框式日期选择器(带闰平年判断)
    漂亮的验证码
    EXT.NET 使用 Ueditor编辑器,并在后台获取的方法
    WIN7 IIS不能显示特殊图片 “+”,""号的图片需要转义才可以显示
    人才网查找职位的复杂SQL用法
  • 原文地址:https://www.cnblogs.com/lc97/p/10512818.html
Copyright © 2011-2022 走看看