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


    作业来源: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()
      

        

  • 相关阅读:
    地址打开eclipse汉化全程
    可行性nullpoj 2723 Get Luffy Out 2sat
    服务器端提交Git版本控制tag标签的使用(二)
    原因总结六级之阅读理解
    子类父类浅谈filter里面为什么要强制转换成httpServletRequest类型
    排序中文POJ 1696/hrbustoj 1318 几何 蛋疼的蚂蚁
    选择复选框js限制checkbox勾选的个数以及php获取多个checkbbox的方法
    环境节点[置顶] 如何终止特定 RAC 实例上的 session
    整数实例hdu2041(超级楼梯)
    属性框架Fixjs——显示基类DisplayObject
  • 原文地址:https://www.cnblogs.com/lc97/p/10512818.html
Copyright © 2020-2023  润新知